二维数组1

(1)类型 : 数组名「常量表达式」「常量表达式」
      int a[6][6];    //6*6   6行6列
      char b[4][5];    //4*5  4行5列
       double c[6][3];    //6*3,6行3列
 (2)二维数组的访问:
        a[0][0];       //访问a数组中的第一行第一列的元素
        b[1][3];      //访问b数组中的第二行第四列的元素
**注意下标的取值范围,以防止数组的越界访问。比如 int a[3][4],其行下标的取值范围是0到2.其列下标的取值范围是0到3,超出任何一个下标的访问都是越界访问。
 (3)二维数组的初始化:
       由于二维数组在内存中是线性存放的,因此可以将所有的数据写在一个花括号内 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
       为了更直观的表示元素的分布,可以用大括号将每一行的元素括起来; int a[3][4]={1,2,3,4},{5,6,7,8},{9,10,11,12}
        或者 int a[3][4]={
                                          {1,2,3,4},
                                          {5,6,7,8},
                                          {9,10,11,12}
                                   }
     也可以只对部分元素赋初值:int a[3][4]={{1},{5},{9}};
**除了第1维的元素个数可以不写,其他的维度必须写上,不然会报错.

#include <stdio.h>
int main()
{
	int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
	int i, j;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			printf("%d", a[i][j]);
		}
		printf("\n");
	}
	return 0;
}
/*二维数组的初始化*/

录入成绩的一个举例:

#include <stdio.h>
int main()
{
	int a[5][4] = {
		{80,78,67,88},
		{92,65,78,68},
		{85,89,76,98},
		{86,70,89,90},
		{99,99,99,99}
	              };
	printf("每位同学的成绩如下:\n");
	int i, j;
	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 4; j++)
		{
			printf(" %d", a[i][j]);
		}
		printf("\n");
	}
	return 0;
}
/*录入成绩*/

上一篇:UVM入门与进阶学习笔记12——TLM2通信(2)


下一篇:pandas统计dataframe中所有负值(negative values)的个数(count total number of negative values in dataframe)