一道c语言的题目,求大佬解答

这三个sizeof是怎么算的,感觉有点摸不着头脑,上面的是答案... 这三个sizeof是怎么算的,感觉有点摸不着头脑,上面的是答案 展开
 我来答
GTA小鸡
高粉答主

2019-01-25 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部

sizeof返回变量占用的内存大小,sizeof的计算发生在编译期,与变量的值是什么无关

数组a[] = "THIS\0",它由T H I S \0 \0组成,共占6个字节,因此sizeof(a)为6。

b和pa中的元素都是char*指针类型,sizeof(指针)在32位程序中为4,64位程序中为8。

更多追问追答
追问
b对应的不是o k \0 \0 \0吗,这不是5吗,pa[0]对应的是a \0,不就是2了么,为什么这两个都是4呢
追答

请分清sizeof和strlen的区别,前者计算的是变量占用多少内存空间,而后者计算的是字符串的长度。再次强调sizeof与变量的值具体是什么无关

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式