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

文章目录

1.define

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

特点

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

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

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

2.typedef

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

特点

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

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

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

相关推荐
运维行者_17 分钟前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
Patrick在香港18 分钟前
Python爬虫框架实战:优雅抓取香港政府公开API数据的通用方案
java·开发语言·爬虫·python·ai编程·数据可视化·可用性测试
hey_sml28 分钟前
MySQL常用操作速记:从字符集到游标全解析
java·开发语言·mysql
广东程序猿小展28 分钟前
《007初露锋芒》风灵月影13项修改器下载 007初露锋芒修改器使用方法
开发语言·javascript·ecmascript
wuminyu43 分钟前
JDK21解决虚拟线程IO阻塞原理剖析
java·linux·c语言·jvm·c++
菜冻鱼1 小时前
Python-sklearn-特征工程
开发语言·人工智能·python·机器学习·numpy·matplotlib·sklearn
吴声子夜歌2 小时前
正则指引——PHP
开发语言·正则表达式·php
Claire_882 小时前
企业文件管理系统选型技术框架与主流产品对比分析
开发语言·php
(Charon)2 小时前
【C++】:使用 mutex + deque 实现一个简单的 LockedQueue
开发语言·c++
星轨初途2 小时前
LeetCode 热题 100——day10 和为 K 的子数组
开发语言·c++·算法·leetcode