一维数组二维数组初始化方法有哪几种_二维数组与一维数组的区别

(1) 2024-07-24 08:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
一维数组二维数组初始化方法有哪几种_二维数组与一维数组的区别,希望能够帮助你!!!。

(1)在定义数组时对数组元素赋以初值。如:

1



2


3
static 
int 
a[10]={0,1,2,3,4,5,6,7,8,9};//一维数组


static int a[3][3]={0,1,2}{3,4,5}{6,7,8};//二维数组

  int a[2][3]={ 1,2,3,4,5,6};// 不分行的初始化
 

(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;

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复