typedef 和define
时间: 2024-02-13 18:58:48 浏览: 250
typedef和#define是C/C++语言中用于定义别名和宏的关键字。
typedef用于定义类型别名,可以为已有的数据类型或自定义的结构体、联合体、枚举类型等起一个新的名字。它的语法格式为:
```c
typedef 原类型名 新类型名;
```
例如,将double类型定义为real的别名:
```c
typedef double real;
```
这样,在后续的代码中就可以使用real代替double。
而#define用于定义宏,它是一种文本替换的机制,将一个标识符替换为一个表达式、一个值或一段代码。它的语法格式为:
```c
#define 宏名 替换文本
```
例如,将2定义为宏Tow:
```c
#define Tow 2
```
这样,在后续的代码中使用Tow时,会被替换为2。
它们的区别在于:
- typedef是用来定义类型别名的,它只能用于定义类型,不能用于定义常量或表达式。
- #define是用来定义宏的,它可以用于定义常量、表达式或代码片段。
下面是一个示例,演示了typedef和#define的用法:
```c
#include <stdio.h>
typedef double real;
#define Tow 2
int main() {
real num = 3.14;
printf("num = %f\n", num);
int result = Tow * 5;
printf("result = %d\n", result);
return 0;
}
```
输出结果:
```
num = 3.140000
result = 10
```
阅读全文