char a[] = "123456";
char *b = "123456";
sizeof(a)为7,字符串默认包含了一个结束符\0,所以结果为串长+1。
sizeof(b)为4,因为b只是一个指针,所以得到的值是一个指针的大小。
本文探讨了在C/C++中使用sizeof运算符对字符数组和指向字符串的指针进行操作的区别。对于字符数组,sizeof返回的是整个数组的字节大小,包括末尾的空字符;而对于指向字符串的指针,sizeof仅返回指针变量本身的大小。
char a[] = "123456";
char *b = "123456";
sizeof(a)为7,字符串默认包含了一个结束符\0,所以结果为串长+1。
sizeof(b)为4,因为b只是一个指针,所以得到的值是一个指针的大小。
795

被折叠的 条评论
为什么被折叠?