大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
二维数组定义的一般形式是:
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了番禺免费建站欢迎大家使用!
dataType arrayName[length1][length2];
其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。
例如:
int a[3][4];
定义了一个 3 行 4 列的二维数组,共有 3×4=12 个元素,数组名为 a,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
malloc声明一个二维数组, 假定行数 NR=5, 列数NC=8:
int NR=5,NC=8;
int i,j;
int **a;
// scanf("%d %d", NR, NC); 你也可以在这里输入行数,列数,然后
// 动态分配:
a = (int **) malloc(sizeof(int *) * NR);
for (j=0;jNR;j++){
a[j] = (int *) malloc(sizeof(int) * NC);
}
// 假定这里赋初值:
for (j=0;jNR;j++) for (i=0;iNC;i++) {
a[j][i] = (j+1)*100 + i;
}
//输出数组元素值:
for (j=0;jNR;j++){
for (i=0;iNC;i++) printf("%3d ",a[j][i]);
printf("\n");
}
//释放内存的方法:
for (j=0;jNR;j++) free(a[j]);
free(a);
首先你得知道C语言中其实都是一维数组好了,然后你得知道不给明确元素的值时[ ] 里面必须是常量,如 int[2] ,否则你就得把它中得元素写出来,如int[]={1,2} .好了,那么二维数组实际也是一维数组,a[2][2]中第一个a[2]表示我是一个数组,有两个元素,然后这两个元素也是数组类型的。这个题目太简单,A,C可以扔了,B理解了上述也可以扔,答案就是D了,其实a[][]={(1,2),(3,4)也是对的。。
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度
int a[3][4];
在C语言中可以用二维数组作为实参或者形参。
1、函数中用二维数组作为形参,函数声明中可以指定所有维数的大小,也可以省略第1维的维数如:
void f(int array[3][10]); //正确
void f(int array[][10]); //正确
上面的两种二维数组形参表示都是正确的。
2、函数中用二维数组作为形参,不能把第2维或者更高维的大小省略,如下面的定义是不合法的:
void f(int array[][]); //错误
因为从实参传递来的是数组的起始地址,在内存中按数组排列规则存放(按行存放),而并不区分行和列,如果在形参中不说明列数,则系统无法决定应为多少行多少列,不能只指定一维而不指定第二维,下面写法是错误的:
void f(int array[3][]); //错误
3、二维数组作为实参传递时,必须保证实参第2维的维数与形参第2维的维数相同,因为必须要保证形参和实参的数据类型一致。比如定义如下函数:
void f(int array[][10]);
可以将如下数组传递给函数f。
int a[2][10] = {1,2,3,4};
int b[4][10] = {1};
C语言二维数组定义的一般形式是:类型说明符 数组名[常量表达式1][常量表达式2]
int a[1][2]的意思是,定义了一个int类型的,数组名为a的,具有1行2列的数组
你可以把这个二维数组想像成一个表格,这个表格有1行2列,每个格子中可以放入一个int型数据。
数组使用就是用数组下标来访问数组中的元素,比如a[0][1]=5,就是把第1行的第2个元素赋值为5。