引发了异常: 读取访问权限冲突。 p2 是 0x40

先赞后看  养成习惯

关注公众号:不会编程的程序圆   看更多干货

这里分享一个在vs2019下我遇到的一个报错。

这是报错的代码:

 

 

但是当我们这么改 它就可正常输出了

下面我说的问题也许不是这个错误解决的正确原因,但是这个问题足以让大家提高对指针大小的认识: 

在错误的情况下:char str2

字符串str2每一个字符大小为1个字节

在这种情况下执行下面的赋值就会有问题

char* p2 (4个字节)= str2(一个字节) 

而在char* str2的情况下str2每一个字符大小为4个字节

这么修改还是报错,说明确实不是问题,那么真正的问题是什么呢? 

 

但是,当我们这么改的时候:

它也可以正确输出!


 

总结: 

char str  = "You are ...."  当这么写的时候,只是将Y赋给了str,因为str是字符,存贮不了字符串

但是一下两种写法是可以表示字符串的:

char* str

char str[]

 


 

微信公众号 第一手文章资料我都会在这发布,感谢大家的关注!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章