typedef struct 用法

admin 38 0

`typedef` 是 C 和 C++ 语言中的一个关键字,用于为现有的数据类型定义一个新的名称,当与 `struct` 一起使用时,`typedef` 可以使我们在声明结构体变量时不必每次都写出 `struct` 关键字。

下面是一个简单的例子来说明 `typedef` 与 `struct` 的结合使用:

```c

// 定义一个结构体

struct Point {

int x;

int y;

};

// 使用typedef为结构体定义一个新的名称

typedef struct Point Point_t;

int main() {

// 使用新的名称来声明结构体变量

Point_t p1;

p1.x = 10;

p1.y = 20;

// 传统的声明方式,需要写出struct关键字

struct Point p2;

p2.x = 30;

p2.y = 40;

return 0;

}

```

在上面的代码中,我们首先定义了一个名为 `Point` 的结构体,然后使用 `typedef` 为它定义了一个新的名称 `Point_t`,在 `main` 函数中,我们可以使用 `Point_t` 来声明结构体变量 `p1`,而不需要每次都写出 `struct` 关键字,传统的声明方式仍然有效,即使用 `struct Point` 来声明变量。

需要注意的是,`typedef` 只是为了简化代码和提高可读性,它并不会改变结构体的本质,在内存布局和访问方式方面,使用 `typedef` 定义的新名称和原始的结构体名称是完全相同的。