二维数组
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
//C语言中的二维数组
//int a[10];//下标1-9
//float b[8];//下标0-7
//二维数组[][]
//二维数组的一般形式:
//类型说明符 数组名[常量表达式][常量表达式]
//float c[3][4];//这是一个三行四列的数字 不可以写成 c[3,4]
//[0]...[2]三个元素,每个元素中再包含有四个元素的一维数组
//总共是3*4个元素
//表现如下:
//c[0][0],c[0][1],c[0][2],c[0][3]
//c[1][0],c[1][1],c[1][2],c[1][3]
//c[2][0],c[2][1],c[2][2],c[2][3]
int d[5][8]; //这是一个五行八列的数组
//三维数组 多维数组 在内存中的排列顺序:
//最左边下标变化最慢 最右边下标变化最快
float e[2][3][4];//可以想象到三维坐标系
//二维数组的引用
//数组名[下标][下标] a[0][1],a[5-4][3-1] 注意不要写成a[3,4]
int f[10];
//f[1] = F[2];
int g[5];//g[0] -- g[4]
//注意使用时 就要严格按照数组定义来赋值 或者引用数组元素时千万不要付错值
int a[3][4];
int i,j;
for(i=0;i<3;i++){//0,1,2
for(j=0;j<4;j++){//0,1,2,3
a[i][j] = i*j;
}
}
for(i = 0;i<3;i++){
for(j = 0;j<4;j++){
printf("a[%d][%d] = %d\n",i,j,a[i][j]);
}
}
//下标千万不要越界
//二维数组的初始化
//a 分行给二维数组赋初值
int b[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};//相当于有三行,但是有四列
for(i = 0;i<3;i++){
for(j = 0;j<4;j++){
printf("b[%d][%d] = %d\n",i,j,b[i][j]);
}
}
//b 将所有数据放在一个大括号内
//int c[][] = {将所有值依次放进这个大括号内,太不醒目了}//就是把a内的{}内的{}去掉
//c 对部分元素进行赋值
//{内写部分元素}
//d 指定部分
int m[][4] = {{},{},{}};//前面[]就是3
//printf("HELLO WORLD");
}