2.5.3二维数组
数据类型 数组名[第一维][第二维]; 二维数组在定义的时候进行初始化,二维数组在初始化的时候,需要按照第一维顺序依次用大括号给出第二维初始化的情况,然后将他们用逗号分隔并且用大括号全部括住,而在这些被赋予初值的元素之外部分将被默认赋值为0,
将两个二维数组对应位置的元素相加,并将结果存放到另外一个数组当中。

#includeint main(){  int a[3][3],b[3][3];  for(int i=0;i<3;i++){    for(int j=0;j<3;j++){      scanf("%d",&a[i][j]);//输入二维数组a的元素    }  }   for(int i=0;i<3;i++){    for(int j=0;j<3;j++){      scanf("%d",&b[i][j]);    }  }   int c[3][3];  for(int i=0;i<3;i++){    for(int j=0;j<3;j++){      c[i][j]=a[i][j]+b[i][j];    }  }  for(int i=0;i<3;i++){    for(int j=0;j<3;j++){      printf("%d ",c[i][j]);    }    printf("\n");  }    return 0;}

如果说数组比较大,则需要将其定义在主函数的外面,否则会让程序异常退出,原因是函数内部申请的局部变量来自系统栈,允许申请的空间比较小,而函数外面申请的全局变量来自静态存储区,允许申请的空间比较大,
多维数组的维度高于二维数组,多维数组与二维数组相类似,其使用方法和二维数组基本无二,

#includeint main(){  int a[3][3][3];for(int i=0;i<3;i++){  for(int j=0;j<3;j++){    for(int k=0;k<3;k++){      scanf("%d",&a[i][j][k]);      a[i][j][k]++;//自增     }  }}for(int i=0;i<3;i++){  for(int j=0;j<3;j++){    for(int k=0;k<3;k++){      printf("%d\n",a[i][j][k]);//输出三维数组a元素的值     }  }}     return 0;}


memset对数组当中的每一个元素赋予相同的值

给数组当中的每一个元素赋予相同的值有两种方法:1.memset函数和fill函数

memset(数组名,值,sizeof(函数));

使用memset需要在程序当中开头添加string.h文件,而且只是建议初学者使用memset赋予0或者-1,这是因为memset使用的是按照字节赋值,如果要对数组赋予其他的数字(例如1),那么使用fill函数


double型二维数组用memset赋值_c++ 二维数组