gpt4 book ai didi

c - 查找指向数组的指针的大小

转载 作者:行者123 更新时间:2023-11-30 19:07:06 30 4
gpt4 key购买 nike

#include <stdio.h>



#define R 10

#define C 20



int main()

{

int (*p)[R][C];

printf("%d", sizeof(*p));

getchar();

return 0;

}

o/p=800

这里 p 是一个指向二维数组的指针..那么它的 o/p 不应该是 4 或 8 吗?

最佳答案

这里的问题是您没有显示指针的大小,而是显示指针指向的内存块的大小。

R=10,C=20。 int 在您的系统上的大小为 4 个字节。所以10*20*4=800。因此,使用您的代码, printf("%d", sizeof(*p)); 将打印 800

如果您想要打印指针变量的大小,则必须将代码更改为:

printf("%d",  sizeof(p));

引用:printf reference page礼貌some-programmer-dude

关于c - 查找指向数组的指针的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47145491/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com