struct CITIES { char cNation[64]; };和typedef struct{ char cNation[64]; }CITIES;有何区别
时间: 2024-02-12 08:09:55 浏览: 56
这两种定义结构体的方式本质上是等价的,都可以用来定义一个包含一个字符数组成员的结构体。
但是,使用 typedef 定义结构体可以为该结构体类型定义一个别名,方便在程序中使用该类型。比如,使用 typedef 定义结构体类型 CITIES 可以使得在程序中定义该类型的变量时直接使用 CITIES 类型名,而不需要每次都写出完整的结构体定义。而不使用 typedef 定义结构体,则需要每次在定义变量时都写出完整的结构体名称。
例如:
```
// 使用 typedef 定义结构体类型 CITIES
typedef struct {
char cNation[64];
} CITIES;
// 直接使用 CITIES 类型名定义变量
CITIES city1;
// 不使用 typedef,每次定义变量都需要写出完整的结构体名称
struct CITIES city2;
```
在实际编程中,选择使用哪种方式定义结构体取决于个人习惯和代码风格。
相关问题
typedef struct CITIES { char cNation[64]; }CITIES;和typedef struct{ char cNation[64]; }CITIES;有何区别
这两个 typedef 定义的结构体本质上是相同的,只是第一个 typedef 在结构体名称前加了一个别名 "CITIES",使得在定义该结构体变量时可以直接使用 "CITIES" 作为类型名。
例如,使用第一个 typedef 定义的结构体变量可以这样声明:
```
CITIES city1;
```
而使用第二个 typedef 定义的结构体变量则需要使用匿名结构体的方式声明:
```
typedef struct {
char cNation[64];
} CITIES;
CITIES city2;
```
在实际编程中,使用哪种方式定义结构体取决于个人习惯和代码风格。
typedef struct CITIES { char cNation[64]; };和typedef struct{ char cNation[64]; }CITIES;有何区别
这两个 typedef 定义的结构体本质上是相同的,只是第一个 typedef 在结构体名称前加了一个别名 "CITIES",使得在定义该结构体变量时可以直接使用 "CITIES" 作为类型名。
例如,使用第一个 typedef 定义的结构体变量可以这样声明:
```
CITIES city1;
```
而使用第二个 typedef 定义的结构体变量则需要使用匿名结构体的方式声明:
```
typedef struct {
char cNation[64];
} CITIES;
CITIES city2;
```
在实际编程中,使用哪种方式定义结构体取决于个人习惯和代码风格。
阅读全文