二维数组
ARR【行】【列】
不完全初始化:先行后列,行可以省略,但列不能省略
int main(){
int arr[] = {1,2,3,4};//ok
int arr1[][] = {1,2,3,4} //no
int arr2[3][4] = {1,2,3,4,5} //ok
int arr3[3][4] = {
{1,2,3},{1,2}};
int arr4[][4] = {1,2,3,4};
return 0;
}
二维数组的访问也是由下标实现
int main(){
int arr[4][4]={
{1,2,3},{4,5},4,5,6,7,7};
int i = 0;
for (i=0; i<4; i++){
int j = 0;
for(j=0; j<4; j++)
printf("%d",arr[i][j]);
printf("\n");
}
return 0;
}
二维数组的存储:顺序存储,先行后列,内存连续
int main(){
int arr[4][4]={
{1,2,3},{4,5},4,5,6,7,7};
int i = 0;
for (i=0; i<4; i++){
int j = 0;
for(j=0; j<4; j++)
printf("&arrp[%d][%d]=%p\n",i,j,&arr[i][j]);
}
return 0;
}
第i行的数组名:ARR【i】