⑴ c语言中多维数组有什么用
便于程序员进行逻辑思考,对于机器和一维一样;
arr[n][m];//arr[1][2]
arr[n*m];//大小结构一样,arr[1*m+2+1](号从0开始)
⑵ C语言 二维数组
/***用二维数组保存学生成绩****/
#include"stdio.h"
#define M 100
main()
{ int i,a[M][2],n,c=0,m=0,max,min;
printf("请输入学生记录数:");
scanf("%d",&n);
/*********输入每个学生的成绩保存在数组中*********/
for(i=0;i<n;i++)
{printf("请输入第%d学生的记录\n",i+1);
printf("请输入语文成绩:");
scanf("%d",&a[i][0]);
printf("请输入数学成绩:");
scanf("%d",&a[i][1]);
printf("\n"); }
/********各课总成绩********************/
for(i=0;i<n;i++)
{c+=a[i][0];
m+=a[i][1];
}
printf("语文总成绩:%d\n",c);
printf("数学总成绩:%d\n",m);
printf("语文平均成绩:%f\n",(float)(c)/n);
printf("数学平均成绩:%f\n\n",(float)(m)/n);
/**********输出成绩单*********/
for(i=0;i<n;i++)
{printf("第%d个学生:语文成绩%d 数学成绩%d\n",i+1,a[i][0],a[i][1]);
}
getch();
}
⑶ 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语言中是否存在多维数组
多维数组只是一种说法,其实只不过是特殊的一维数组而已。只是说,这个特殊的一维数组的每个元素的类型不是常规的int、float等这些基本类型。而是obj这些特殊的类型。
⑸ c语言二维数组怎么表示
int a[m][n];//就表示一个m行n列的整型二维数组
在c语言中数组的下标是从0开始的所以,数组a的元素个数可以表示为:a[0][0]-a[m-1][n-1]
例如:
#include<stdio.h>
intmain()
{
inta[3][2],i,j;//定义一个3行2列的整型二维数组a
for(i=0;i<3;i++)//依次给二维数组赋值
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
printf(" ");
for(i=0;i<3;i++){//输出二维数组
for(j=0;j<2;j++)
printf("%d",a[i][j]);
printf(" ");
}
return0;
}
/*
运行结果:
12
34
45
12
34
45
*/
⑹ c语言中二维数组的定义
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度
int a[3][4];
⑺ C语言二维数组
表达式a[0]+1是地址,a[0]占2字节 1占2字节 总共4字节,;p是一个指向整形数的指针,而a 是二维数组的首地址,看懂意思就知道为什么了!!!
⑻ c语言二维数组
1、首先是定义一个二级指针和行列变量【int **array,row,column;】。