c语言题,sizeof,字符指针,字符数组


你好,str1是一个字符指针,sizeof(str1)其实是就求这个字符指针所占的字节数,为4.
而sizeof(str2)好余就是求字符数组的长度,因为字符串是以\0结尾的,在算字符串的长锋袜洞度时不算在内,所以字符串的长度是5,但银枯是用来存放它的字符数组的长度要比字符串的长度大1,为6.
D 是正确答案
sizeof函数功能是用于计算数据空间的字节数。
sizeof计算数据(包括数卜陪灶组、变量、类型、结构体等)所占内存空间,用字节数表示(当然用在字符数组计算"乱纯\0"的大小)。
使用sizeof时string的注意事项:string s="hello";sizeof(s)等于string类的大小(32)一个字节是8位,所以在32位编译器上第一个所占的字节数为32/8=4;对于一般数组而言sizeof 方法:数组元素个数=占用字节/数组类型所占字节。在此题中数组str2[]="型扮Hello"一共占用6个字节(包括5个字母各占一个字节再加上一个结束符‘\0’占一个字节,共6个字节)。所以选D