C语言结构体初始化

  1. 结构体初始化有三种方法,代码例子如下:

#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <stdlib.h>

typedef struct _Person
{
    char *name;
    int age;
}Person;



int main(void)
{
    //方法一:按照成员声明的顺序初始化
    Person p1 = {"A", 18};
    printf("name=%s, age=%d.\n", p1.name, p1.age);

    //方法二:点"."后面跟成员名方法,成员顺序不固定,Linux内核多采用此方法
    //gcc不支持后缀名为cpp的文件使用这种方式
    Person p2 = {
        .age = 28,
        .name = "B",
    };
    printf("name=%s, age=%d.\n", p2.name, p2.age);

    //方法三:成员名后面跟冒号":"的方法,成员顺序不固定
    //gcc不支持后缀名为cpp的文件使用这种方式
    Person p3 = {
        name: "C",
        age: 38,
    };
    printf("name=%s, age=%d.\n", p3.name, p3.age);

    return 0;
}

  1. 运行结果如下:
Result.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官方文档 初始化 Initialization是为准备使用类,结构体或者枚举实例的一个过程。这个过程涉及了在实例里...
    hrscy阅读 1,149评论 0 1
  • 初始化(Initialization) 初始化是类、结构体、枚举类型的准备过程。这个过程涉及到所有存储属性的初始化...
    泗哥阅读 5,653评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,915评论 18 139
  • 阳春三月天,午时未至,一轮明日悬于半边天,虽耀光刺目,却不感炎热。加之山路绵延回转,峰峦遮日,又有山间湍流携风,倍...
    蛋炒米线阅读 438评论 0 2
  • 我会路过很多山水、看过许多繁华零落、目睹很多悲欢,时光会给我诸多相聚和别离,岁月也许我万千红尘,但我一定会记得,你...
    陈先生的猫阅读 823评论 0 1