Typedef strict 和struct 的区别
时间: 2024-03-15 21:45:34 浏览: 82
`typedef` 是C语言中的一个关键字,用于给已有类型定义一个新的名称,而 `struct` 则是C语言中的一个关键字,用于定义结构体类型。
在使用 `typedef` 关键字时,我们可以给一个已有类型定义一个新的名称,这样就可以用这个新的名称来代替原有的类型名。例如:
```
typedef int myInt;
myInt x = 10;
```
在这个例子中,我们使用 `typedef` 关键字将 `int` 类型定义为 `myInt` 类型。因此,我们可以用 `myInt` 来代替 `int` 类型。
而在使用 `struct` 关键字时,我们定义一个新的结构体类型,该类型可以包含多个不同类型的成员变量。例如:
```
struct Person {
char name[20];
int age;
};
```
在这个例子中,我们使用 `struct` 关键字定义了一个名为 `Person` 的结构体类型,它包含了两个成员变量 `name` 和 `age`,分别是 `char` 类型和 `int` 类型。
因此,`typedef` 和 `struct` 在作用上是不同的。`typedef` 用于给已有类型定义一个新名称,而 `struct` 用于定义一个新的结构体类型。
相关问题
c语言typedef struct和struct区别
在C语言中,typedef struct和struct的区别在于如何定义结构体类型。使用struct关键字定义结构体时,需要在结构体名称之前加上关键字struct。而使用typedef struct定义结构体时,可以直接使用typedef关键字来定义结构体类型并同时给结构体起一个别名。
例如,使用struct定义结构体类型的方式如下:
struct tagMyStruct{
int iNum;
long lLength;
};
而使用typedef struct定义结构体类型的方式如下:
typedef struct{
int iNum;
long lLength;
} MyStruct;
这样,在定义结构体变量时,使用struct关键字定义的结构体类型需要在结构体名称之前加上struct关键字,而使用typedef关键字定义的结构体类型可以直接使用别名MyStruct。
为什么会有两种方式呢?这是因为使用struct关键字定义结构体类型时,必须在使用该类型的地方都加上struct关键字,而使用typedef关键字定义结构体类型可以简化代码,使得代码更加易读和易写。此外,使用typedef还可以为结构体类型起一个别名,方便在程序中引用该类型。
typedef struct和struct区别
`typedef struct` 和 `struct` 的区别在于,前者是为结构体取一个别名,而后者是定义结构体类型。使用 `typedef` 可以简化结构体变量的定义方式。
例如:
```
struct Person {
int age;
char* name;
};
struct Person p1; // 定义一个结构体变量
```
可以使用 `typedef` 简化为:
```
typedef struct {
int age;
char* name;
} Person;
Person p1; // 定义一个结构体变量
```
这样就不需要在每次定义结构体变量时重复使用 `struct` 关键字。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)