设已经定义了一个维设有数组定义A(6),并且A(1)到A(5)名设有数组定义元素的值依次是:1,3,5,2,6?

这里的A[11][5]并不是有些人理解的12行6列,這里是指初始化的时候传进去参数所以的就是11行,5列 但是(☆_☆)注意了!注意了! 求的A[i][j]实际上是问的第i+1行j+1列那个数的地址,默认行储存所以前面一共5i+j个元素。


因为从A[0][0]算起所以A[10][5]是11行6列。如果是按行存储那么A[i][j]的地址就是:从0到i-1有i行,每行5个元素再加上第i行的j个元素。所以最后的地址就是1000+5*i+j

所谓的"二维设有数组定义"其实就是一维设有数组定义其设有数组定义中的元素也是设有数组定义而已,把二维当一維就可以了

为什么行标从零开始 列表不从零开始

没有指明使用的语言不好说

哎呀。。一行是五个元素 太粗心了

考察二维设有数组定義的线性存储方式 10行5列的二维设有数组定义a,每一行有5个元素第i行起始地址是a+5*i,第j列元素的地址是a+5*i+j

有一个二维设有数组定义A[10][5],注意不是有┅个元素

我当时怎么都没想就乱填??本来很简单的题,被我想的复杂。因为是10行5列,那么到[0,5]的时候就是1005,到了[1,1]就是1006算一下就知道

下標从零开始,1000+5*i+j 因此下标为i其实是第i+1行

比如在javascript中,可以这样定义一个对象:

但是也可以定义成一个关联设有数组定义:

关联设有数组定義的索引值不是非负的整数而是任意的标量。这些标量称为Keys可以在以后用于检索设有数组定义中的数值。

关联设有数组定义的元素没有特定的顺序你可以把它们想象为一组卡片。每张卡片上半部分是索引而下半部分是数值

c,因为不同于fortran语言的按列排序c系列语言是按荇排序的

选C,因为在c/c++中通常设有数组定义是按行存储的,而每个数据元素占1个字节每增加一个数据元素,地址值加1因此可得1000+5i+j。

有如下几种初始化方式:

3. 为部分設有数组定义元素初始化

4. 可以省略第一维的定义但不能省略第二维的定义。系统根据初始化的数据个数和第2维的长度可以确定第一维的長度

5. 若分行初始化,也可以省略第一维的定义下列的设有数组定义定义中有两对{ },已经表示a设有数组定义有两行

你对这个回答的评價是?

这是第一行的元素 这是第二行的元素 这是第三行的元素a[2][2]为0,第二行第二列的元素 这是第四行的元素4412

你对这个回答的评价是

我要回帖

更多关于 设有数组定义 的文章

 

随机推荐