zoukankan      html  css  js  c++  java
  • 《C语言知识点 — 结构体初始化的四种方法》

    定义:

    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
    };
  • 相关阅读:
    jquery.md5
    LoginPasswordHelp
    RSA(非对称加密算法、公钥加密算法)
    Swiper 3.4.1
    layer web 弹窗
    操作系统
    查看命令帮助
    软件卸载
    重定向命令
    终端命令格式的组成
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/12180611.html
Copyright © 2011-2022 走看看