C/C++中的结构体声明: struct 和 typedef struct 用法

结构体的常规定义与创建

无 TYPEDEF 的声明方式

首先常规结构体的定义,你肯定已经十分清楚:

struct Person{
    int age;
    string name;
};

这里Person是你声明的这个结构体的名字,即一种类型,如同int之类的。

如果你想声明几个Person的变量的话有两种方式:

// 1. 在声明之后立刻创建
struct Person {
    int age;
    string name;
    } person_a, person_b;
// 这里 person_a 都是实际的 variables 啦!

// 2. 随后需要的时候再创建,给出C中的定义方法
struct Person person_c;

有 TYPEDEF 的声明方式

在C中,创建结构体都要在前面加多一个struct,有点累赘。当然,有简单的办法,就是加上一个typedef。

typedef struct Person {
    int i;
    string name;
} Ren;
// 这里 Ren 不是 variable, 而是一个类型名
// 通过这种方式声明的结构体就可以较为简洁地创建变量
Ren person_d;

typedef 并没有实际参与到结构体的定义,而是仅仅给你创建的结构体起了个外号。在这个例子中 struct Person 的外号就是 Ren

参考https://www.cnblogs.com/ericwannn/p/10548186.html

发布了30 篇原创文章 · 获赞 0 · 访问量 258

猜你喜欢

转载自blog.csdn.net/andy1515/article/details/104036612