C语言一维数组、二维数组、结构体的初始化

您所在的位置:网站首页 二维数组赋初值有哪几种方式求 C语言一维数组、二维数组、结构体的初始化

C语言一维数组、二维数组、结构体的初始化

2024-07-06 02:04| 来源: 网络整理| 查看: 265

C语言数组的初始化表示方法   一、C语言一维数组初始化: 

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

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

经过上面的定义和初始化后,a[0]=0,a[1]=1,… ,a[9]=9。

 

(2)初始化时可以只对一部分元素赋初值。例如:

static int a[10]={0,1,2,3,4};

定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0。

 

(3)将数组的元素值全部为0,可以用下面的方法:(方法一)

int a[5] = {0};  // 将整型数组a的每个元素都初始化为0

或者也可以用如下方法进行初始化:(方法二) 

int a[5] = {0, 0, 0, 0, 0}; // 初始化效果同上

不能用: static int a[10]={0*10};

如果对static型数组不赋初值,系统会对定义的所有数组元素自动赋以0值。

 

(4)在对全部数组元素赋初值时,可以不指定数组长度。 

int a[]={0,1,2,3,4};

相当于 int a[5]={0,1,2,3,4};

 

二、C语言二维数组初始化: 

声明时给初始值叫初始化。例如:int b[3][4]={1,2,3,4,5,6,7,8,4,4,4,4};声明后赋值,可以用赋值语句,b[0][0]=1; b[0][1]=2; b[0][2]=3; b[0][3]=4;b[1][0]=5; b[1][1]=6; b[1][2]=7; b[1][3]=8;

 

三、C语言结构体初始化: 

1.typedef定义结构体

typedef struct Student {

    agent age;

    char name[10];

} Stu;

 

2.创建结构体变量并初始化

Stu s = {18,"rose"};//可以初始化,设置age为1,s为一个字符串.

Stu s = {18};//初始化个数少于实际个数时,只初始化前面的成员。

Stu s = {.name="rose"};//有选择的初始化成员。

 

3、结构体数组:初始化需用大括号将数组中每一个结构体括起来:

Stu s[10] = {{18,"rose"},{19,"jack"},{18,"tony"},{17,"misa"}};

也可以初始化其中的一个元素:

Stu s[10] = {[2]={19,"jack"}, [3]={18,"tony"}};

Stu s[10] = {[2].age=19, [3].name="tony"};

 

四、C语言数据类型还有共用体和链表,但C语言没有字典这一说。  

 

   


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3