C 数组定义与数组声明
我有一个全局数组。此阵列的内存将从数据段分配。 我不知道该如何称呼这个数组。是数组声明还是数组定义? 我认为,由于内存已分配,这应该是数组定义C 数组定义与数组声明,c,C,我有一个全局数组。此阵列的内存将从数据段分配。 我不知道该如何称呼这个数组。是数组声明还是数组定义? 我认为,由于内存已分配,这应该是数组定义 int array[4][5][2]; // declaration or definition? 4*(4+5+2) bytes will be allocated int main() { return 0; } 在这种情况下,两者都是:声明+定义 int array[4][5][2]; // declaration or defini
int array[4][5][2]; // declaration or definition? 4*(4+5+2) bytes will be allocated
int main()
{
return 0;
}
在这种情况下,两者都是:声明+定义
int array[4][5][2]; // declaration or definition? 4*(4+5+2) bytes will be allocated
int main()
{
return 0;
}
如果您在单独的文件中包含以下内容:
extern int array[4][5][2];
那么这只是声明它,因为定义出现在其他“外部”文件中。根据C标准(6.7声明) 5声明指定集合的解释和属性 标识符的定义。标识符的定义是对 该标识符: -对于对象,导致为该对象保留存储 正如您自己所指出的,数组的内存是在数据部分保留的,那么您就有了一个数组声明,它同时也是一个定义
int array[4][5][2]; // declaration or definition? 4*(4+5+2) bytes will be allocated
int main()
{
return 0;
}