c语言中 sizeof()

13题中的sizeof(p)为何等于20

sizeof(p)就是求数组p占用的所有内存尺寸,不会理会其中装载什么数据。

追问

内存尺寸怎样求?

追答

就是占用字节数,比如数组p是字符型数组,那么每个元素占用1字节,20个元素为20字节,这就是sizeof(p)求出的结果,如果换成p数组是int型的话,每个元素占4字节,20个元素就是20*4=80字节

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-29
看不到13题啊追问

15 抱歉看错了

追答

是这样的。

    strlen()函数,对一个字符串或者数组求长度的时候,遇到\0字符串就会终止,因此strlen(p)== 11, 因为后面\0不计算在内,遇到\0,就会终止统计长度。

    sizeof()这个函数,和strlen函数不一样,strlen函数是在程序执行期间计算的。而sizeof()函数是在编译器进行编译的时候计算的,而且sizeof()计算的时候,就是根据代码进行计算的,比如你定义了char p[20],那么编译器在计算的时候,就会知道sizeof(p) == 20。

追问

谢谢啦

非常明白

本回答被提问者采纳
相似回答