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

文章目录

1.define

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

特点

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

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

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

2.typedef

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

特点

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

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

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

相关推荐
工程师0079 分钟前
C#多线程,同步与异步详解
开发语言·c#·多线程·同步·异步编程
xzkyd outpaper13 分钟前
Kotlin中Flow
android·开发语言·kotlin
“αβ”16 分钟前
线程安全的单例模式
linux·服务器·开发语言·c++·单例模式·操作系统·vim
五行缺弦1 小时前
Java 笔记 serialVersionUID
java·开发语言·笔记
打码农的篮球1 小时前
C++模板
开发语言·c++
小乖兽技术2 小时前
在 .NET 中使用 Base64 时容易踩的坑总结
开发语言·c#·.net
WJ.Polar2 小时前
Python与Mysql
开发语言·数据库·python·mysql
边疆.3 小时前
【C语言】文件操作
c语言·开发语言·文件操作
皮卡蛋炒饭.3 小时前
C++中既重要又困难的部分—类和对象
java·开发语言
命苦的孩子3 小时前
Java 数学工具类 Math
java·开发语言