00问答网
所有问题
当前搜索:
二维数组的第一个元素
...
二维数组
中,a【0】为什么是第一行
的第一个元素
,列不是不能缺省吗...
答:
这是错误的认识。在C语言中,若a声明为
二维数组
,则a[0]所代表的是
一个
地址,指向a[0][0]处,而不是
元素
。
如何求解
二维数组的第一
维大小?
答:
计算方法是:用数组的元素个数除以第二维的数字,若有余数,则商+1就是第一维的大小
,没有余数商就是第一维的大小。比如你的例子,9/4=2余1,则2+1=3,第一维的大小就是3.剩余的没设定的,系统会根据数据类型自动赋值。
...每个元素占k个存储单元,并且
第一个元素
的存储地址是
答:
答案是 LOC(A[0][0]) + (i * n + j) * k 因为是采用行序为主方式存储的
,即先存第1行,再第2行、第三行……这样。所以A[i][j]前面有i行元素,每行元素有n个;A[i][j]为本行第j+1个元素,本行有j个元素位于A[i][j]前,所以A[i][j]到数组的起始位置处,中间共有i *...
在
二维数组
中*a, a,a[0] ,a[0][0] ,a[1] ,&a[1] 的区别
答:
2.
a:以a[0][0]为首元素的二维数组
。可带两个索引:a[i][j]3. a[0]:同*a 4. a[0][0]:首元素 5. a[1]:以a[1][0]为首元素的一维数组。可带一个索引。6. &a[1]:以a[1][0]为首元素的二维数组。可带两个索引:(&a[1])[i][j]即a[i+1][j]要掌握它们的区别...
数组名代表
数组第一个元素
的地址,
二维数组
三维数组也这样吗?
答:
b[0]是第一行
第一个元素
的首地址(也可以说是数组第一个元素的地址)可是从数值上来说,b和b[0]是相等的。变量在进行赋值时,需要接收数据的变量与值变量(或常量)是相同类型才可以 回到你的问题中 int a[2]={1, 2}; //一维数组 int b[1][2]={1, 2}; //
二维数组
int * p1=a;...
数组第一个元素
的大小是
答:
int a[][]:
第一个
中括号表示有此
二维数组
有几行,第二个表示有几列。故int a[][3]={1,2,3,4,5,6,7};说明此数组有n行,3列;也就是说每行有三
个元素
,所以第一行有1,2,3 这三个元素,第二行有4,5,6三个元素,第三行有7这个元素,不足的两个元素由0来补足。对数组进行初始...
...若每个元素占2个存储单元,且
第一个元素
A[0][0]的存储地址为1000_百 ...
答:
数组
A[n][m]中每个
元素
占用的存储单元为k,元素A[i][j]相对于首元素的地址偏移量为(i*m+j)*k。代入题中数据得A[3][2]的偏移量为(3*5+2)*2=34,存储地址为1000+34=1034。
*(p+5)为什么表达的是a[1][2],a[0]和a有什么区别
答:
p = a[0]; 其中a[0]和&a[0][0]等效, 因为数组名表示
数组第一个元素
的地址 也就是将a[0][0]的地址赋值给指针p, 那么*(p+5)表示的就是a[0][5]因为c的多维数组是按照一维数组来存的, 而起编译器不检查数组下标是否越界, a[0][5]和a[1][2]是同一个元素 a[0]和a的区别, ...
...且每个元素占2个存储单元,若
第一个元素
的存储位置为b,则b+20的元 ...
答:
设列宽为n,行索引为i,列索引为j,基地址指针为b,则 b[i][j]=b+(n*i+j)*2=b+20 10i+j=10 j=10-10i 又因 i=[20/n*2]=1 (计算行索引,将偏移量除列宽取整后获得,n*2因为
一个元素
占2字节你懂得)所以 j=10-10*1=0 因此b+20=b[i][j]=b[1][0]
为什么C语言中
二维数组的
数组名a和*a表示的是同
一个
值?
答:
当定义二维数组a[M][N]时,数组名可以认为是二维指针,其指向
二维数组的
首地址。于是a的值就是首地址的值。而*a,就是a[0],a[0]是第一行的标记,代表第一行的首地址。在二维数组中,所有元素都是紧密排列的,这样整个数组的首地址,第一行的首地址,和
第一个元素
的首地址,即a, a[0], ...
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
二维数组第一个元素的首地址
二维数组等于1是什么意思
二维数组首元素地址
二维数组的访问
二维数组的首地址
二维数组第一个数下标
二维数组元素个数
二维数组相同元素个数
二维数组怎么求每行元素的和