在c中,有多少内存消耗一个数组,那只是一个单独的数组
即,int a[0]
;或char a[0];
我希望在程序写在纸上时知道它,而不是在编译器上运行的程序 这里我不能使用sizeof函数,我的编译器是avrgcc,
在我的程序部分,我需要一个int a[13];
数组
或代替int a[13]; an
int a[3];
以及另外的整数类型,即int i。
具体我要求 如果我需要13个整数数组或4个整数数组以及一个整数变量。
使用的内存较少
答案 0 :(得分:5)
数组的大小是数组中每个元素大小的总和。
例如,
整个数组将消耗(size * sizeof
个别元素),即在这种情况下5 * 4
== 20个字节。
这与用法无关,即您实际计划使用的元素数量。
FWIW,0大小/ 0长度阵列是非标准的。 It's a gcc
extension用于特定目的(在添加灵活数组成员之前作为标准),支持0大小的数组,但最好不要回复它。
答案 1 :(得分:0)
int(整数)类型变量的大小为2个字节,char的长度为1个字节。在数组中,数组的大小乘以变量的大小根据其类型将给出数组的大小。 你也可以使用sizeof。