【C语言】#define和typedef的区别

文章目录

1.define

#define 是预处理器指令,用来进行宏定义。它在编译之前由预处理器处理,主要用于定义常量、简单的函数宏或者代码片段的替换。

特点

文本替换:#define 主要用于文本替换,在编译前将指定的标识符替换为相应的值或表达式。

无类型检查:由于是在预处理阶段执行的简单文本替换,编译器不会对 #define 定义的内容进行类型检查。

作用范围广泛:可以用于定义常量、函数宏等。

2.typedef

typedef 是关键字,用于给现有的数据类型创建一个新的名字。它在编译阶段处理。

特点

类型别名:typedef 用于为现有类型创建一个新的名字,使得代码更加易读或简化复杂类型的声明。

类型安全:由于是在编译阶段处理的,编译器会对 typedef 定义的类型进行类型检查。

作用范围特定于类型:只能用于定义类型的别名,不能用于定义常量或函数宏。

相关推荐
TO_WebNow12 分钟前
Python学习- 数据结构类型
开发语言·python·学习
PfCoder16 分钟前
C# 事件(Event)核心概念
开发语言·c#
java1234_小锋26 分钟前
一周学会Flask3 Python Web开发-SQLAlchemy查询所有数据操作-班级模块
开发语言·前端·python
PfCoder39 分钟前
C# 中泛型(Generics)‌的核心概念
开发语言·windows·c#
宁懿妤1 小时前
Lua语言的网络编程
开发语言·后端·golang
矛取矛求1 小时前
VSCode C/C++ 环境搭建指南
开发语言·vscode
Elnaij1 小时前
从C语言开始的C++编程生活(1)
c语言·c++
PingdiGuo_guo1 小时前
C++前缀和
开发语言·c++
执沐2 小时前
C程序设计(第五版)及其参考解答,附pdf
c语言·开发语言
w_t_y_y3 小时前
IntelliJ 配置文件plugin.xml
xml·java·开发语言