❶ c语言如何定义二维数组
二维数组定义的一般形式是:
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]
❷ C语言多维数组定义与初始化
二维数组定义的一般形式如下:
类型标识符 数组名【常量表达式1】【常量表达式2】;
例如:
int a[2][3];
float b[3][10];
二维数组的初始化有两种:
(1)分行初始化,如:
static int a[2][3]={{1,2,3,},{4,5,6}};
(2)统一初始化,如:
static int a[2][3]={1,2,3,4,5,6};
❸ C语言二维数组定义是什么,然后int a[1][2]是代表什么意思怎么用这个二维数组
C语言二维数组定义的一般形式是:类型说明符 数组名[常量表达式1][常量表达式2]
int a[1][2]的意思是,定义了一个int类型的,数组名为a的,具有1行2列的数组
你可以把这个二维数组想象成一个表格,这个表格有1行2列,每个格子中可以放入一个int型数据。
数组使用就是用数组下标来访问数组中的元素,比如a[0][1]=5,就是把第1行的第2个元素赋值为5。
❹ c语言中二维数组的定义
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度
int a[3][4];
❺ C语言的多维数组怎么嵌套定义,以及怎么赋值
1、使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小。
2、例程,分配3行4列二维数组:
#include<stdio.h>
#include<malloc.h>
intmain()
{
int**a;
inti,j;
a=(int**)malloc(sizeof(int*)*3);//为二维数组分配3行
for(i=0;i<3;++i){//为每列分配4个大小空间
a[i]=(int*)malloc(sizeof(int)*4);
}
//初始化
for(i=0;i<3;++i){
for(j=0;j<4;++j){
a[i][j]=i+j;
}
}
//输出测试
for(i=0;i<3;++i){
for(j=0;j<4;++j){
printf("%d",a[i][j]);
}
printf(" ");
}
//释放动态开辟的空间
for(i=0;i<3;++i){
free(a[i]);
}
free(a);
return0;
}
/*
输出:
0123
1234
2345
*/
❻ C语言多维数组
&multi[0]不等于multi[0],
multi也不等于multi[0],
multi[0]是一维指针。
multi是一个二维指针。
multi[0][0]表示一个具体的int值。
你用%u输出的结果实际上都是输出了multi[0][0]的值。
❼ c语言怎样定义一个3行4列的二维数组
int
a[3][4];这样定义就行了
赋值可以这样:
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(“%d”,&a[i][j]);
示例:
main()
{
int
a[3][4],i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(“%d”,&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
printf(“%d
”,a[i][j]);
if(j==4)
printf("\n");
}
return
0;
}
这样就可以输出一个三行四列的矩阵
注意printf(“%d
”,a[i][j]);这句%d后面是有空格的
❽ C语言中,用多维数组名做函数参数,对形参数组定义时,为什么可以省略一维的大小
只能省略1维!
如果省略2维的话,那么,对于a[3][4]和a[4][3]就搞混了!
也就无法确定元素a[1][1]的位置了,因为不知道列宽!
另外,数组做参数,实际上是弱化成指针的
所以可以省略1维的大小!~
❾ c语言中如何定义一维数组和二维数组
一维数组: 类型说明符 数组名[常量表达式]
例如 int a[10]它表示数组名为a,此数组有10个元素
二维数组: 数组名[下标][下标]
如 a[2][3] 下标可以是整形表达式如a[2-1][2*2-1]不能写成a[2,3]
a[2-1,2*2-1]
❿ c语言关于定义二维数组的问题
首先你要理解二维数组的真正含义,它的第一维就是一组数据的起始地址,第二维就是某组数据中的某个值.其次,你要知道a[][4]所表达的意思,是指二维数组a的每一维都是由4个元素组成的一维数组.而编译器可以根据你赋给a的初值个数计算它的第一维长度(元素总个数/4,如果不能整除,则长度加1,此时还应该有几个没有赋初值的数组元素).而a[3][]的意思从表面上看可以成立,但问题是编译器不能直接识别其第二维的确切长度(你可以考虑,如果总的初值个数为2时,可以认为a的第二维长度为1,也可以是2,.......),这样就会产生错误.所以,可以a[][4]={*,*,*……}这样定义,而不能定义a[3][]={*,*,*……}。
对于你补充的问题,其实我已经讲了.因为赋初值是5个元素,所以5/4=1,但除不尽,所以要加1,即实际数组a实质上定义为a[2][4],其内元素为:
1 2 3 4
5 0 0 0 (后面的三个0是系统默认值)
希望对你有所帮助.^-^