码迷,mamicode.com
首页 > 编程语言 > 详细

《C语言知识点 — 结构体初始化的四种方法》

时间:2020-01-11 18:48:39      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:知识   键值   使用   itme   image   key   ima   class   init   

定义:

struct InitMember
{
    int first;
    double second;
    char* third;
    float four;
};

 

1.定义的时候进行初始化(顺序)

struct InitMember test = {-10,3.141590"method one"0.25};

 

2.定义后逐个赋值

struct InitMember test;

test.first = -10;
test.second = 3.141590;
test.third = "method two";
test.four = 0.25;

 

3.定义时乱序赋值(C风格)

  这种方法类似于第一种方法和第二种方法的结合体,既能初始化时赋值,也可以不考虑顺序;

struct InitMember test = {
    .second = 3.141590,
    .third = "method three",
    .first = -10,
    .four = 0.25
};

  这种方法在Linux内核(kernel)中经常使用。内核中的file_operation结构体就是这样赋值的。

  技术图片

 

   技术图片

 

 

4.定义时乱序赋值(C++风格)

  这种方法和前一种类似,网上称之为C++风格,类似于key-value键值对的方式,同样不考虑顺序。

struct InitMember test = {
    second:3.141590,
    third:"method three",
    first:-10,
    four:0.25
};

《C语言知识点 — 结构体初始化的四种方法》

标签:知识   键值   使用   itme   image   key   ima   class   init   

原文地址:https://www.cnblogs.com/zhuangquan/p/12180611.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!