一
sizeof在编译时已经计算完,sizeof用来计算字节数
二
基本数据类型的sizeof,sizeof(int) =4
三
指针类型的sizeof,例如 int *p = 123; char *pOne = "abc"; String *pTwo;
那么 sizeof(p)=4,sizeof(pOne)=4,sizeof(pTwo)=4,因为在32位系统中,指针所占的字节数为4,在64位系统中,指针所占字节数位8。
那么sizeof(*p) = 1; 因为*p指的是第一个数1,所以sizeof(*p) = sizeof(int) =4 ,即整型数占4个字节 而sizeof(*pOne) =1 因为char占一个字节
四
char str[] = "abcde"; sizeof(str) = 6;因为str为数组,它所占用空间位6位(加上末尾的\0)。
char str[20]="abcde";sizeof(str) = 20; 而strlen(str) = 5 ,strlen只计算长度
五
strlen是从内存中某个位置开始扫描,知道遇到\0结束,并且不包括\0。计算字符串长度