1. 对于整型数组:
size of(a) 若a为数组名的话,表示整个数组的长度
size of(*a) 首元素的长度
size of(&a) 首元素的地址
2.对于字符型数组:
strlen找的是第一次出现尾零(即值为0)的位置。
练习题:
1. 下面代码的结果是:( )
#include <stdio.h>
int main()
{
char str[] = "hello bit";
printf("%d %d\n", sizeof(str), strlen(str));
return 0;
}
str字符数组使用"hello bit"初始化,最终也会将'\0'放置到数组中,因此数组中总共有10个元素
sizeof(str):获取数组的总大小,10个元素,每个元素占1个字节,因此总共是10个字节
strlen(str): 获取字符串中有效字符的个数,不算'\0',因此总共9个有效字符
故上述printf会分别打印:10 9
2. 下面代码的结果是( )
int main()
{
char a[1000] = {0};
int i=0;
for(i=0; i<1000; i++)
{
a[i] = -1-i;
}
printf("%d",strlen(a));
return 0;
}
解释