目录
1. sizeof和strlen的比较
2. 数组名的意义
3. 整形数组sizeof
4. 字符数组sizeof
5. 字符数组strlen
6. 字符串数组sizeof strlen
7. 字符串常量sizeof strlen
sizeof:
1,sizeof是操作符。
2,sizeof计算操作数所占内存的大小,单位是字节。
3,sizeof不关注内存中存放什么数据。
strlen:
1,strlen是库函数需要包含<string.h>头文件。
2,strlen是求字符串的长度,统计的是'\0'之前字符的间隔数。
3,关注内存中是否有'\0',如果没有'\0'便会继续向后寻找,可能导致越界。
数组名表示的意义:
sizeof(数组名)这个数组名表示整个数组的,计算的是整个数组的大小。
&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。
除此之外数组名都表示首元素的地址。
下面是sizeof和strlen的比较
注:sizeof中只有数组名为操作符的时候才为整个数组的大小,只有sizeof(数组名)这一种形式。
整形数组
x64环境下运行结果如下
x86下
字符数组
x64下运行结果
x86下运行结果
strlen下:
结果如下
字符串数组
字符串常量
char*p="abcdef";
相当于char arr[]="abcdef"
*p=arr