1

我有一个例子如下:

我有一个结构:

typedef struct e{

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

}Example;

然后如果我有这样的功能:

int funct(Example *e);

如何获得数组的大小?

我试过了:

int size =(sizeof(e->array[0])/sizeof(int));

但它不返回 69 的值。

任何帮助将不胜感激。

4

2 回答 2

3

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

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

于 2013-04-19T05:13:41.797 回答
0

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

于 2013-04-19T05:15:01.643 回答