//Test7.c
#include<stdio.h>
#include<string.h>
int main()
{
char cdata[128] = "hello";
printf("sizeof :%ld\n",sizeof(cdata));
printf("strlen %ld\n",strlen(cdata));
char *p = "hello";
/*p是一个chae *,sizeof来计算的时候,得出的是计算机用多少字节来表示一个地址*/
printf("sizeof:p %ld\n",sizeof(p));;
printf("sizeof:char* %ld\n",sizeof(char *));;
printf("sizeof:int* %ld\n",sizeof(int *));;
printf("sizeof:char %ld\n",sizeof(char));;
printf("strlen: %ld\n",strlen(p));;
return 0;
}
输出结果:
从上面的输出结果可知,用sizeof计算指针的时候,无论是什么类型,它的大小都是8个字节。
strlen计算的是字符串的真实长度,计算到\0的时候停止。