我有一个全局数组。该数组的内存将从数据段中分配。 我很困惑我该怎么称呼这个数组。是数组声明还是数组定义? 我认为既然分配了内存,这应该是数组定义。
int array[4][5][2]; // declaration or definition? 4*(4+5+2) bytes will be allocated
int main()
{
return 0;
}
答案 0 :(得分:1)
根据C标准(6.7声明)
5声明指定集合的解释和属性 标识符。标识符的定义是声明 该标识符:
- 对于一个对象,导致为该对象保留存储;
正如您所注意到的那样,数组的内存保留在数据部分中,那么您将获得一个同时是定义的数组声明。
答案 1 :(得分:0)
在这种情况下,它既包括:声明+定义。
如果你有一个单独的文件:
extern int array[4][5][2];
然后那只是宣告它,因为定义发生在其他"外部"文件。