一维数组、二维数组用数学公式初始化以及二维数组的行坐标可省

<span style="font-size:14px;">#include<stdio.h>#include<stdlib.h>//二维数组赋值void show2(){int a[3][4];int k=0;for(int i=0;i<3;i++){for(int j=0;j<4;j++){a[i][j]=i*4+(j+1);//数学公式 赋值// a[i][j]= ++k;//与上面效果一致printf("%-6d",a[i][j]);}printf("\n");}}//一维数组赋值void show1(){int a[3][4];int k=0,count=0;for(int i=0;i<12;i++){//25/10=2,25%10=5;78/10=7,78%10=8,即除以10得到十位,模10得到个位,相当于一个横坐标x,一个纵坐标y//以第二个下标为基准 (即除和取余都是以y为运算)a[i/4][i%4]=i;//一维数组初始化a[i/4][i%4]=++k;count++;printf("%-6d",a[i/4][i%4]);if(count%4==0){printf("\n");}}}int main(){show2();show1();int a[3][4]={0};//二位数组赋值为0,则全部为0//二维数组可以当做 一个一维数组,每一元素又是一个一维数组int a[3][4]={{1,2},{5,6,7,8},{9,10,11,12}};int a[][4]={{1,2,3,4}};//大括号初始化以后,,行坐标可以省略printf("%d\n",sizeof(a));//列坐标不可以省略,因为二维数组,每一个元素又是一个一维数组,一维数组的长度不能省略//int a[3][]={{0},{0},{0}};//错误//N维数组,有大括号初始化有确定的因素,只有第一个可以省略return 0;}</span>二维动态数组 两种模式 第一种整体排序是连续的。与静态二维数组一样使用 第二种整体之间不连续的,一个指针数组,每一个元素都是指针,存放了另外一个数组的地址

自己变得跟水晶一般透明,

一维数组、二维数组用数学公式初始化以及二维数组的行坐标可省

相关文章:

你感兴趣的文章:

标签云: