#include<stddef.h>
int main()
{
int n = 0;
char *q = NULL;
char s1[10] = {'w', 't', 'a', 'x'};
char s2[8] = {'w', 'y', 'r', 'g', 'l', 'e', 't', 's'};
printf("sizeof(n):%d\n",sizeof(n));
printf("sizeof(q):%d\n",sizeof(q));
printf("sizeof(s1):%d\n",sizeof(s1));
printf("strlen(s1):%d\n",strlen(s1));
printf("s1[9]:%s\n",s1[9]);
printf("strlen(s2):%d\n",strlen(s2));
}
结果:
sizeof(n):4
sizeof(q):8 //系统是64位,占8字节
sizeof(s1):10
strlen(s1):4
s1[9]:(null)
strlen(s2):11 //这里之所以是11,应该是由于超过了长度8之后,自动填充3个长度
C语言sizeof和strlen区别
于 2021-05-12 23:02:43 首次发布