Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
一维数组二维数组初始化方法有哪几种_二维数组与一维数组的区别,希望能够帮助你!!!。
(1)在定义数组时对数组元素赋以初值。如:
1
2
3
|
static int a[10]={0,1,2,3,4,5,6,7,8,9};//一维数组
|
(2)初始化时可以只对一部分元素赋初值。例如:
1
2
|
static int a[10]={0,1,2,3,4};//一维数组
static int a[2][3]={
{1,2},{4}};//二维数组
注意:
第一行只有2个初值,按顺序分别赋给a[0][0]和a[0][1];第二行的初值4赋给a[1][0]。由于存储类型是static,故其它数组元素的初值为0。注:某些C语言系统(如:Turbo C)中,存储类型不是static的变量或数组的初值也是0。
static int a[2][3]={ 1,2};
只有2个初值,即a[0][0]=1,a[0][1]=2,其余数组元素的初值均为0。
|
(3)如果想使一个数组的元素值全部为0,可以用下面的方法:
1
2
3
|
一维数组:
static int a[10]={0,0,0,0,0,0,0,0,0,0};
int a[10]={0};
static int a[10];
//注意这个
static,在int前加 static, 该变量就被定义成为一个静态全局变量,未经初始化的静态全局变量会被程序自动初始化为0(在函数体内声明的自动变量的值是随机的,除非它被显式初始化,而在函数体外被声明的自动变量也会被初始化为0);
二维数组:
static int a[10][10]={0};
|
(4)如果想使一个数组的元素值全部为1,或者某个特定值,只能通过循环一个一个赋值,有一个memset函数可以实现,但它的 的内部实现也是循环赋值。
注意:
static int a[10]={1};这种只是给啊a[0]赋值为1了;
a[10]=1;只是给a[10]这个位置存了一个1;
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章