c语言,结构体数组怎么初始化

[复制链接]
查看11 | 回复5 | 2018-12-23 12:15:26 | 显示全部楼层 |阅读模式
例如一个struct student {char na[5];float grrade}, 它可以这样初始化 struct student stu[2]={"hjk",4},{"jkl",45};好像对于数组的每个元素都这样初始化一次,但是如果数组元素很多怎么办?不可能这样一个一个初始化吧,有没有什么简便的,类似于数组中的默认没有赋值的为0.

回复

使用道具 举报

千问 | 2018-12-23 12:15:26 | 显示全部楼层
对于数组元素很多的初始化可以使用初始化列表方法。在c语言中用于进行初始化的程序结构则称为初始化器或初始化列表。1、初始化器初始化器是声明器的可选部分,它由一个'='以及其后的一个表达式(或含有多个以','隔开的带圆括号表达式的单一列表)所组成。后面这一列表有时也被称为“初始化(器)列表”(initializer list)或”初始化列表”(initialization list)。例:public class Curry{public string MainIngredient { get; set; }
回复

使用道具 举报

千问 | 2018-12-23 12:15:26 | 显示全部楼层
结构体数组在定义的同时也可以初始化,例如:struct stu{char *name;//姓名int num;//学号int age;//年龄char group;//所在小
回复

使用道具 举报

千问 | 2018-12-23 12:15:26 | 显示全部楼层
同学,你注意到了Create()函数里面,你又定义了一句:List pr;了么?这句话时关键,首先,你在main函数(我猜应该是main吧)中写道:List pr1=Creat("p1",2,1);Insert(&pr1);看,你这个pr1是个局部变量吧?只在main()中有效的。而你上面那个Create中定义的呢?也是个局部变量,只在Cre
回复

使用道具 举报

千问 | 2018-12-23 12:15:26 | 显示全部楼层
对结构体struct a // a为结构体名{
int b; // 两个int型的结构体变量
int c;}初始化方式主要有以下几种:struct a a1 = {
.b = 1,// 分别初始化结构体中的两个变量
.c = 2};或者struct a a1 = {
b:1,
c:2};或者st
回复

使用道具 举报

千问 | 2018-12-23 12:15:26 | 显示全部楼层
对结构体struct a // a为结构体名{
int b; // 两个int型的结构体变量
int c;}初始化方式主要有以下几种:struct a a1 = {
.b = 1,// 分别初始化结构体中的两个变量
.c = 2};或者struct a a1 = {
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行