sizeof(arr) 是数组arr总的大小
sizeof(arr[0]) 是数组一个元素的大小
sizeof(arr) / sizeof(arr[0]) 表示元素的个数
strlen(arr) 表示数组arr的长度
1.
很多人认为 sizeof(arr) / sizeof(arr[0]) 是等于 strlen(arr) 的
问:
那为什么 长度是10,内存是11,两个不应该是一样的吗?
解:
\0 在字符数组中,是结束标志,是占一个字节的(一个char),但不算一个元素。不计入串长,但要占内存空间
2.
下面截图为非字符数组的 长度和大小:
3.总结
在int 型数组中用arr/arr[0]计算多少下标。在char类型中用strlen来计算。
4.思考
在其它类型数组中,有\0 吗? 有的话代表着什么?长度,大小是否同上面有着区别?