btcq.net
当前位置:首页 >> 二维数组的初始化 >>

二维数组的初始化

//一般二维数第一维度可以通过初始化来确定,但是其他维度一定要明确 A)int c[3][]={{3},{3},{4}}; //二维不明确(列) ,错误 B)int c[][3]={{3},{3},{4}}; //一维(行)通过初始化确定,即3行3列,正确 C)int c[3][2]={{3},{3},{4},{5}}; //定义3行2列,但是初始化是4行,错误 D)int c[][3]={{,3},{},{3}}; //行数由初始化决定, 当中有3个大括号说明由3行 //第一行的初始化为{,3}, 第一行的第一个元素没写~~,不会默 //认为0的~~ 应该是{0,3}

若声明为全局量,例如放在 main() {} 函数以前,则编译时,自动初始化为全0.一般来书,二维数组初始化的形式为:数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };在{ }中给出各数组元素的初值,各初值之间用逗号分开.

二维数组可以在定义的时候初始化,就像上面那样.如果已经定义了一个二维数组,就不能批量初始化,必须对二维数组每个元素hao[i][j]单独进行初始化.C语言里面不能对一行数据进行初始化的.对于一个二维数组,你可以用两层for循环,对每个元素初始化.

用for循环挨个赋值吧 for(i=0; i<4; i++){ a[0][i]=i+1; a[1][i]=i+5; a[2][i]=4; }

绝对错了,不错你扇死我!二维数组的初始化分为,一种为按行分段初始化,另一种为按行连续初始化.int a[2][3]={{5,6},{7,8},{9,10}}; 这是第一种,int a[2][3]={5,6,7,8,9,10}; 这是第二种.a这个二维数组一共2行3列共6个存储空间,图形为:5 67 89 10 正好占满.而且C语言默认可以省略行数,但不能省略列数 你看看你的初始化 int a[][4]={{0,0,3},{},{0,10}};行数省略是没有任何问题的.但是你是按行分段初始化 第一行0 0 3 第二行 第三行0 10 注意了,你只对其中3行进行了初始化,第4行丢了.所以a是一个半初始化的数组,C编译系统绝对不承认!

#include <stdio.h>#include <string.h> void main() { int a[10]={0}; //所有初始化为0 int b[5]={1,2,3,4,5}; //d[0]=1,d[1]=2,d[2]=3 int c[10][20]={0}; //所有初始化为0 int d[3][2]={{1,2},{3,4},{5,6}}; //c[0][0]=1,c[0][1]=2,c[1][0]=3,c[1][1]=4 int e[9][10]; memset(e,0,sizeof(e)); //所有初始化为0 }

二维数组初始化的基本格式: (1)int a[3][4]={{2,6,3,9},{5,7,9,8},{1,6,4,2}};//a数组元素完全被初始化 (2)int a[3][4]={2,6,3,9,5,7,9,8,1,6,4,2};//与(1)类似,全部被初始化 (3)int a[][4]={{1,2,3,4},{5,6,7,8}};//初始化了全部数组元素,隐含了行数 (4)int a[3][3]={{6},{1,8},{1,2,3}};//给出部分数值元素的值 就是这几种啦

比如:int a[2][2]={0}; //全初始化为0int b[][]={{1,2},{3,4}};//也可以在b[][]标出数据长度 int c[2][2]={1,2,3,4};//c[2][2]必须有数据长度

数组名;例如: int a[2][3]; float b[3][10];二维数组的初始化有两种:(1)分行初始化,如: static int a[2][3]=,}; (2)统一初始化,如: static int a[2][3]=;

这样写是语法错误的,正确的写法是:String [][]a={ {"1","2","3"}, {"4","5","6"} };在讲一点数组的知识:26,一维数组的形式:(1), int a[]; a = new int[5]; 等同于 int a[] = new int[5]; (2), int[] a; a = new int[5]; 等同于 int[] a = new

网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com