A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

sizeof 获得的是一个指针的之所占的空间,应该是长整型的,所以是4,如:
char *p="abcdef";
sizeof(p) = 4;
strlen(p) = 6;
sizeof 计算的是分配的数组 所占的内存空间的大小,不受里面存储的内容改变,如:
char a[5] = "abc";
sizeof(a) = 5;
strlen(a) = 3;
sizeof计算字符串长度时计算所有字符个数(结束符也算范围内),“\0”“\n”都算一个字符。 如:
char b[] = "abc";
sizeof(a) =4;
strlen(a) = 3;

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马