C语言学习笔记(八)--数组(二)

2014-11-24 00:04:19 · 作者: · 浏览: 66

3.也可以对数组部分赋值:int a[2][3]={1,2,3,4};相当于:

int[2][3]={{1,2,3},{4}};

4.和一维数组一样,如果对数组的全部元素赋值,可以不指定第一维的长度,但是第二维必须指定长度。

二维数组初始化例子代码:

#include "stdio.h"

main() {

int a[][3]={1,2,3,4,5,6}; /*全部初始化的时候可以省略第一维*/

int b[2][3]={{1,2,3},{4,5,6}}; /*不可写成int b[2][3]={{1,2,3}{4,5,6}};的形式*/

int c[3][3]={{1},{2},{3}};

int d[3][3]={{2},{0},{4}}; /*第二行的元素空时不可省略{}和{}内的0*/

int e[3][3]={{0,1},{0,0,3},{4}}; /*对一列中的其他值赋值时,不可省略前面的0*/

int i,j;

printf("output array a:\n"); /*分行输出各个数组的值*/

for (i=0;i<2;i++){

for (j=0;j<3;j++)

printf("%d ",a[i][j]);

printf("\n");

}

printf("output array b:\n");

for (i=0;i<2;i++){

for (j=0;j<3;j++)

printf("%d ",b[i][j]);

printf("\n");

}

printf("output array c:\n");

for (i=0;i<3;i++){

for (j=0;j<3;j++)

printf("%d ",c[i][j]);

printf("\n");

}

printf("output array d:\n");

for (i=0;i<3;i++){

for (j=0;j<3;j++)

printf("%d ",d[i][j]);

printf("\n");

}

printf("output array e:\n");

for (i=0;i<3;i++){

for (j=0;j<3;j++)

printf("%d ",e[i][j]);

printf("\n");

}

}

4.4二维数组练习

1.将一个二维数组的元素按照矩阵形式输出。

2.矩阵转换,行列互换。

5数组整体练习

1.判断回文。

摘自 letthinking的专栏