讲一下这道C语言题的每个选项吧?
发布网友
发布时间:2024-10-19 06:51
我来回答
共3个回答
热心网友
时间:2024-11-30 04:50
A: p是一个char型一位数组, 计算第一个元素的大小 也就是char的大小。
B:*p表示的是数组的第一个元素的值,计算它的大小就是char大小
C:不用说明 ,计算某个数据类型的大小直接用sizeof()
D: p是一个一位数组,在这个 p实际是该数组第一个元素的地址,指针类型 sizeof(p) 实际是在计算指针的大小而不是char类型,指针的大小在32位机器永远是4,64位机器是8
希望能解决你的疑惑
热心网友
时间:2024-11-30 04:48
程序定义了一个字符型数组,数组中的每一个元素都是字符型,则选项一选取数组p的第一个元素计算char的长度可行;*p代表取p位置的数据,即数组p的第一个元素,所以选项二可行;选项三直接求char长度,不解释;选项四是在求整个数组p的长度,p里包含好几个字符型数据,所以求出来的当然不是一个字符型的长度
热心网友
时间:2024-11-30 04:43
sizeof( X ) 括号中的信息(可以是变量、常量、类型)只要符合相应的要求,就可以达到计算数据占内存空间数
A sizeof( p[0] ) ; p[0]的类型是char,所以可以计算出char类型所占空间字节数
B sizeof( *p ) ; *p的类型是char,所以可以计算出char类型所占空间字节数
C sizeof(char ); 这是标准样板。
D sizeof( p ); p是数组名,这里得到的是p数组所占的内存空间字节大小,而不是一个char的大小!