这里分享一个在vs2019下我遇到的一个报错。
这是报错的代码:
但是当我们这么改 它就可正常输出了
下面我说的问题也许不是这个错误解决的正确原因,但是这个问题足以让大家提高对指针大小的认识:
在错误的情况下:char str2
字符串str2每一个字符大小为1个字节
在这种情况下执行下面的赋值就会有问题
char* p2 (4个字节)= str2(一个字节)
而在char* str2的情况下str2每一个字符大小为4个字节
这么修改还是报错,说明确实不是问题,那么真正的问题是什么呢?
但是,当我们这么改的时候:
它也可以正确输出!
总结:
char str = "You are ...." 当这么写的时候,只是将Y赋给了str,因为str是字符,存贮不了字符串
但是一下两种写法是可以表示字符串的:
char* str
char str[]