欢迎来到培训无忧网!

全国切换

咨询热线 400-001-5729

位置:培训无忧网 > 新闻资讯 > 电脑/IT > c语言 >  C语言培训:结构体变量初始化的两种方式介绍

C语言培训:结构体变量初始化的两种方式介绍

来源:培训无忧网-星星 发布人:星星

2021-12-01 13:36:59|已浏览:177次

结构体变量初始化的两种方式介绍

       结构体变量存储了一组不同类型的数据,为结构体变量初始化的过程,其实就是为结构体中各个成员初始化的过程。根据结构体变量定义方式的不同,可以将结构体变量初始化方式分为两种。

1、在定义结构体类型时定义结构体变量,同时对结构体变量初始化。
      例如,定义一个struct Person结构体类型,该结构体类型的成员项包括编号、姓名、性别三项,在定义struct Person结构体类型时,定义变量p,并对p进行初始化,示例代码如下:
struct Person
{
  int ID;
  char name[10];
  char sex;

}

p={0001,"Zhang San",'M' };

     上述代码在定义结构体类型struct Person的同时定义了结构体变量p,并对p中的成员进行了初始化。
2、先定义结构体类型,之后定义结构体变量并对结构体变量初始化。
     以struct Person结构体类型为例,先定义struct Person结构体类型,然后定义struct Person类型的变量p,并对其进行初始化,示例代码如下:
struct Person
{
  int ID;
  char name[10];
  char sex;
};
struct Person p={0001,"Zhang San",'M' };
       在上述代码中,首先定义了一个结构体类型struct Person,然后在定义结构体变量p时对其中的成员进行初始化。
       需要注意的是,编译器在初始化结构体变量时,按照成员声明顺序从前往后匹配,而不是按照数据类型自动匹配。在初始化成员变量时,如果没有按顺序为成员变量赋值,或者只给一部分成员变量赋值,往往会匹配错误。例如,给struct Person结构体类型的变量p赋值时,只给其中的name与sex成员变量赋值,示例代码如下:
struct Person p={"Zhang San",'M' };

       上述代码在定义变量p时,只给name和sex赋值,但在编译时,编译器会从前往后将字符串“Zhang San”匹配给成员变量ID,字符‘M’匹配给成员变量name,而成员变量sex没有值。这样当变量p中的成员参与运算时就会发生错误。

        本文由培训无忧网千锋教育课程顾问老师整理发布,更多C语言课程信息可关注C语言培训或添加老师微信:15033336050

      注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-5770.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注c语言频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050

留下你的信息,课程顾问老师会一对一帮助你规划更适合你的专业课程!
  • 姓名:

  • 手机:

  • 地区:

  • 想学什么:

  • 培训无忧网
免 费 申 请 试 听
提交申请,《培训无忧网》课程顾问老师会一对一帮助你规划更适合你的专业课程!