首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取C语言中数组的大小

获取C语言中数组的大小
EN

Stack Overflow用户
提问于 2013-04-19 13:11:15
回答 2查看 105关注 0票数 1

下面是我的一个例子:

我有一个结构体:

代码语言:javascript
运行
复制
typedef struct e{

    int *(array[2]); <---in my case this array is a [2][69]

}Example;

然后,如果我有一个函数,比如:

代码语言:javascript
运行
复制
int funct(Example *e);

如何获得数组的大小?

我试过了:

代码语言:javascript
运行
复制
int size =(sizeof(e->array[0])/sizeof(int));

但它不返回值69。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2013-04-19 13:13:42

您不能这样做,因为您不能将数组传递给函数(或返回它们)。当您将数组作为参数传递时,它会衰减为指向第一个元素的指针。您还必须通过大小。

想想看,如果你真的可以传递一个数组(而不是指针!它们是不同的动物。),为什么所有这些标准库函数都需要一个指针和大小?

票数 3
EN

Stack Overflow用户

发布于 2013-04-19 13:15:02

你必须通过尺寸..没有这个你找不到尺寸..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16097583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档