二维数组怎么赋值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组怎么赋值相关的知识,希望对你有一定的参考价值。
答:不同语言的二维数组赋值可能略微有不同, C语言中二维数组的赋值如下所示。举例使用int arr[2][3],先定义一个2行3列的二维数组,存储元素为整型。
- 分行给数组赋值,每行都放在一个中括号里面。举例int arr[2][3]=1,2,3,4,5,6;按顺序对所有元素赋值,如int arr[2][3]=1,2,3,4,5,6,其与方法1得到的效果是一样的;对部分元素赋初值,举例int arr[2][3]
=1,2,没有显式赋值的默认值为0,其结果与int arr[2][3]=1,0,0,2,0,0一致。
参考技术A 您好,很高兴回答您的问题。在c语言中,二维数组赋值的方法有很多种,可以按照顺序依次赋值,如int a[2][3]=1,2,3,4,5,6;也可以按行赋值1,2,3,3,4,5;上面两种形式结果是一样的。也可以部分赋值,去int a[2][3]=1,2,3等价于1,2,3,0,0,0;还可以int a[2][3]=1,2,3后者等价于1,2,0,3,0,0。二维数组的赋值形式基本如上所述。
怎么给一个二维数组赋不同的值
二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如对数组a[5][3]:
1) 按行分段赋值可写为:
int a[5][3]= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 ;
2) 按行连续赋值可写为:
int a[5][3]= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85;
这两种赋初值的结果是完全相同的。
对于二维数组初始化赋值还有以下说明:
1) 可以只对部分元素赋初值,未赋初值的元素自动取0值。
例如:
int a[3][3]=1,2,3;
是对每一行的第一列元素赋值,未赋值的元素取0值。 赋值后各元素的值为:
1 0 0
2 0 0
3 0 0
int a [3][3]=0,1,0,0,2,3;
赋值后的元素值为:
0 1 0
0 0 2
3 0 0
2) 如对全部元素赋初值,则第一维的长度可以不给出。
例如:
int a[3][3]=1,2,3,4,5,6,7,8,9;
可以写为:
int a[][3]=1,2,3,4,5,6,7,8,9;
3) 数组是一种构造类型的数据。二维数组可以看作是由一维数组的嵌套而构成的。设一维数组的每个元素都又是一个数组,就组成了二维数组。当然,前提是各元素类型必须相同。根据这样的分析,一个二维数组也可以分解为多个一维数组。C语言允许这种分解。
如二维数组a[3][4],可分解为三个一维数组,其数组名分别为:
a[0]
a[1]
a[2]
对这三个一维数组不需另作说明即可使用。这三个一维数组都有4个元素,例如:一维数组a[0]的元素为a[0][0],a[0][1],a[0][2],a[0][3]。
必须强调的是,a[0],a[1],a[2]不能当作下标变量使用,它们是数组名,不是一个单纯的下标变量。 参考技术A 定义的时候就赋值,或者是键盘输入。 参考技术B 表示没明白你的意思。
赋不同的值用两个for循环就可以了啊。
如果初始化就直接memset()函数。 参考技术C int a[3][4];
int i=0,j=0,tmp;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
a[i][i]=赋值;
参考技术D a[1][1] = 1
a[2][1]=2
.......................
以上是关于二维数组怎么赋值的主要内容,如果未能解决你的问题,请参考以下文章