c语言有关二维数组变量初始化

如题所述

例如对整型二维数组a[3][2]赋值
方法一:
在定义的同时赋值
int a[3][2]={0};//所有数组元素均为0

方法二:
int a[3][2]={1,2,3,4,5,6};//常规的赋值方法

方法三:
int a[3][2]={{1,2},{3,4},{5,6}};//分行的赋值方法

方法四:
int a[3][2]={{1,2},{0},{3}};//部分赋值方法,第一行元素的值分别为1,2,第二行元素值都是0,
第三行第一个元素值为3,第二个元素值为0

方法五:
int a[3][2];/先定义
for(i=0;i<=3;i++) //用双重for循环赋值,i,j表示二维数组下标
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);

希望对你有所帮助。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-26

二维数组可以看成特殊的一维数组,每个元素又由一个一维数组组成。

例如:构建一个maxrownum*maxrownum的矩阵

long double **data1_bfE;

data1_bfE=(long double **)malloc(maxrownum*sizeof(long double *));

for(i=0;i<maxrownum;i++)

{

data1_bfE[i]=(long double *)malloc(maxrownum*sizeof(*data1_bfE));

}

data1_bfE[i]=(long double *)malloc(maxrownum*sizeof(*data1_bfE));

动态分配maxrownum个long double的内存空间,跟long double a[5]相似,但前者是堆上分配的,后者是栈上分配的;

data1_bfE=(long double **)malloc(maxrownum*sizeof(long double *));

意思就是定义一个有maxrownum个long double类型的指针的动态数组,然后在里面存放指针,相当于容器,data1_bfE就会成为指针的指针。

注意事项:C语言在定义数组和表示数组元素时常常采用a[ ][ ]的形式,使用方便,不易出错。

本回答被网友采纳
第2个回答  2019-12-21
例如对整型二维数组a[3][2]赋值
方法一:
在定义的同时赋值
int a[3][2]={0};//所有数组元素均为0

方法二:
int a[3][2]={1,2,3,4,5,6};//常规的赋值方法

方法三:
int a[3][2]={{1,2},{3,4},{5,6}};//分行的赋值方法

方法四:
int a[3][2]={{1,2},{0},{3}};//部分赋值方法,第一行元素的值分别为1,2,第二行元素值都是0,
第三行第一个元素值为3,第二个元素值为0

方法五:
int a[3][2];/先定义
for(i=0;i<=3;i++) //用双重for循环赋值,i,j表示二维数组下标
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
第3个回答  2019-11-08
例如对整型二维数组a[3][2]赋值
方法一:
在定义的同时赋值
int a[3][2]={0};//所有数组元素均为0

方法二:
int a[3][2]={1,2,3,4,5,6};//常规的赋值方法

方法三:
int a[3][2]={{1,2},{3,4},{5,6}};//分行的赋值方法

方法四:
int a[3][2]={{1,2},{0},{3}};//部分赋值方法,第一行元素的值分别为1,2,第二行元素值都是0,
第三行第一个元素值为3,第二个元素值为0

方法五:
int a[3][2];/先定义
for(i=0;i<=3;i++) //用双重for循环赋值,i,j表示二维数组下标
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
方法六:
int[][2]={1,2,3,4,5,6};//注意前面那个可以是空的。
方法七:
int a[3][2];/先定义
scanf("%s",a);
第4个回答  2019-12-21
方法一: 在定义的同时赋值 int a[3][2]={0};//所有数组元素均为0 方法二: int a[3][2]={1,2,3,4,5,6};//常规的赋值方法 方法三: int a[3][2]={{1,2},{3,4},{5,6}};//分行的赋值方法

c语言有关二维数组变量初始化
int a[3][2];\/先定义 for(i=0;i<=3;i++) \/\/用双重for循环赋值,i,j表示二维数组下标 for(j=0;j<=2;j++)scanf("%d",&a[i][j]);希望对你有所帮助。

C语言|二维数组的定义、初始化、赋值
在C语言中,二维数组是按行排列的。也就是说,先存放a[0]行,然后是a[1]行,最后是a[2]行;每行中的4个元素也是依次存放。数组a为int类型,每个元素占用4个字节,整个数组共占用4×(3×4)=48个字节。可以这样认为,二维数组是由多个长度相同的一维数组构成的。【实例1】一个学习小组有5个人...

如何用c语言实现二维数组?
使用 C 语言实现二维数组可以通过以下步骤:1. 声明一个二维数组变量:首先,需要声明一个二维数组变量来存储数据。声明二维数组需要指定数组的行数和列数,并可以给数组命名。2. 初始化二维数组:可以选择在声明二维数组时初始化,或者在后续的代码中初始化数组。可以使用循环结构来遍历数组的每个元素,并...

c语言二维数组初始化的三种方式
c语言二维数组初始化的三种方式 int a[3][3]={1,2,3,4,5,6,7,8,9};int a[3][3]={{1,2,3},{4,5},{7}};int a[3][3]={0};

c语言二维数组如何初始化
1 有两种方法 (1)在定义时可以直接赋值来初始化 (2)在定义后可以为其元素一个个来赋值 2 示例 include<stdio.h>void display(int arr[2][3], int row, int col){for (int i = 0; i < row; i++){for (int j = 0; j < col; j++){printf("%d ", arr[i][j]);}puts("...

C语言一个结构中有二维数组,我要对它初始化
那就只能一个一个赋值了。初始化时定义可如下(我这里给出的是数组个数为2的例子,随便取的数值):SHAPE shapes[2] = {{{1,0,3,4,1,2,1,1,1,1,1,1,1,1,1,1}, 6, 7},{{1,5,3,4,1,2,2,2,2,2,2,2,2,2,2,2}, 8, 9}};...

C语言:主函数声明NxN二维数组并初始化,编写函数int fun(int [],int...
int fun(int x[],int n){ int i,j,s,t,(*p)[N]=(int (*)[N])x;for(t=n-1,s=i=0;i<n;i++)for(j=0;j<n;j++)s += i==j || i+j==t ? p[i][j] : 0;return s;} int main(int argc,char *argv[]){ int a[N][N],i,j,s;for(s=i=0;i<N;i++)...

C语言 指针二维数组怎么初始化
1、数组指针初始化方法:int (*p)[4];char a[3][4];p=a;p=&a[0];p=a+1;p=&a[1]; \/\/都正确 p=a[0]; \/\/错误 p=a[1]; \/\/错误。2、首先,指针p表示的是,指向一个含有4个元素的一维数组的指针,因此,必须把一个含有4个元数的数组的地址赋给指针p才会正确。因为二维数组...

c语言 怎么把一个二维数组初始化为空
int 表示要填充的值,最后的unsigned表示填充的字节数。例如:include<string.h> void main(){ int a[10][20]={0}; \/\/方法一,所有初始化为0 int *p[10][20]={NULL};char c[10][20]={'\\0'};double b[50][200]};memset(b,0,sizeof(b)); \/\/方法二,所有初始化为0 } ...

在C语言中数组的初始化是如何定义的?
变量可以在定义的时候初始化,数组也可以。array[5]={1,2,3,4,5};在定义数组时,可以用放在一对大括号中的初始化表对其进行初始化。初始化值的个数可以和数组元素个数一样多。如果初始化的个数多于元素个数,将产生编译错误;如果少于元素个数,其余的元素被初始化为0。如果维数表达式为空时,...

相似回答