在C语言中定义二维数组long a[3][5],则数组占多少字节的存储空间?

,a代表什么,a[1]代表什么
2024-12-02 11:00:19
推荐回答(4个)
回答1:

c语言中long占4个字节,所以longa[3][5]占4*3*5=60个字节
从元素角度理解a代表a[0][0];从二维数组理解a代表a二维数组名,即二维数组首地址;从一维数组角度理解a代表a[0]即二维数组第一行看作一个一维数组,a[0]为这个一维数组的首地址;
a[1]从二维数组看代表a[1][0]是元素,从一维数组角度看代表二维数组第二行的首地址和上面a[0]一样,

回答2:

二维数组在存储的时候,可以看做一维数组来对待。上面的数组可以看做以下的数组:
一维数组的第一个元素(由5个元素组成):a[0][0],a[0][1],a[0][2],a[0][3],a[0][4]
一维数组的第二个元素(由5个元素组成):a[1][0],a[1][1],a[1][2],a[1][3],a[1][4]
一维数组的第三个元素(由5个元素组成):a[2][0],a[2][1],a[2][2],a[2][3],a[2][4]
其中,a是一个地址,指向a[3][5]数组的第一个元素(即a[0][0]);而a[1]则表示将a[3][5]数组看做一维数组的第2个元素的地址,也就是a[1][0]的地址。

回答3:

占3x5x4个字节,a代表这个数组的起始地址,a[1]表示第二行的起始地址。

回答4:

占用的字节数 3*5*4=60
a为数组首地址 a=&a[0][0]
a[1]=a[1][0]