讲一下这道C语言题的每个选项吧?
3个回答
展开全部
A: p是一个char型一位数组, 计算第一个元素的大小 也就是char的大小。
B:*p表示的是数组的第一个元素的值,计算它的大小就是char大小
C:不用说明 ,计算某个数据类型的大小直接用sizeof()
D: p是一个一位数组,在这个 p实际是该数组第一个元素的地址,指针类型 sizeof(p) 实际是在计算指针的大小而不是char类型,指针的大小在32位机器永远是4,64位机器是8
希望能解决你的疑惑
B:*p表示的是数组的第一个元素的值,计算它的大小就是char大小
C:不用说明 ,计算某个数据类型的大小直接用sizeof()
D: p是一个一位数组,在这个 p实际是该数组第一个元素的地址,指针类型 sizeof(p) 实际是在计算指针的大小而不是char类型,指针的大小在32位机器永远是4,64位机器是8
希望能解决你的疑惑
追问
你最后说的指针的大小,单位是字节还是位
追答
是字节
展开全部
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的大小!
A sizeof( p[0] ) ; p[0]的类型是char,所以可以计算出char类型所占空间字节数
B sizeof( *p ) ; *p的类型是char,所以可以计算出char类型所占空间字节数
C sizeof(char ); 这是标准样板。
D sizeof( p ); p是数组名,这里得到的是p数组所占的内存空间字节大小,而不是一个char的大小!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序定义了一个字符型数组,数组中的每一个元素都是字符型,则选项一选取数组p的第一个元素计算char的长度可行;*p代表取p位置的数据,即数组p的第一个元素,所以选项二可行;选项三直接求char长度,不解释;选项四是在求整个数组p的长度,p里包含好几个字符型数据,所以求出来的当然不是一个字符型的长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询