【C深剖】typedef与define区别

简介: 【C深剖】typedef与define区别


简介:本系列博客为C深度解剖系列内容,以某个点为中心进行相关详细拓展
适宜人群:已大体了解C语法同学
作者留言:本博客相关内容如需转载请注明出处,本人学疏才浅,难免存在些许错误,望留言指正
作者博客链接:睡觉待开机

引言:

在本博客当中简单记录一下typedef与宏替换的区别,并不做详谈

下面是本节博客的大纲梳理:

typedef与宏替换的区别:

typedef是专门针对于类型重命名的关键字,而宏替换是单纯的替换

理解1:typedef命名的类型为一种全新的类型,而宏替换是单纯的代码替换

理解2:C中typedef不支持半类型替换,不能当作简单的宏替换

理解3:typedef关键字属于存储类型关键字

为什么把typedef关键字归类于存储类型关键字呢?

因为我们知道存储类型关键字不可以同时出现,也就是一个变量在进行定义时候只能有一个存储类型关键字。

补充:存储类型关键字:


完。


相关文章
|
1月前
|
编译器 C语言
C语言:typedef 和 define 有什么区别
在C语言中,`typedef`和`#define`都是用来创建标识符以简化复杂数据类型或常量的使用,但它们之间存在本质的区别。`typedef`用于定义新的数据类型别名,它保留了数据类型的特性但不分配内存。而`#define`是预处理器指令,用于定义宏替换,既可用于定义常量,也可用于简单的文本替换,但在编译前进行,过度使用可能导致代码可读性下降。正确选择使用`typedef`或`#define`可以提高代码质量和可维护性。
|
6月前
|
编译器 C++
struct 和 typedef struct 区别和用法总结
struct 和 typedef struct 区别和用法总结
111 0
|
6月前
|
C语言
typedef 和 # define 用法区别
typedef 和 # define 用法区别
56 0
|
6月前
typedef用法
typedef用法
47 0
课外闲谈3.define与typedef的区别
第一行中的宏定义的意思就是将INT_PTR这样的一个符号代替int*,所以在这里,b只是一个普通变量。
111 0
课外闲谈3.define与typedef的区别
|
C语言
C语言中typedef和define对比分析
C语言中typedef和define对比分析
101 0
|
C语言 C++ 编译器
C/C++语法知识:typedef struct 用法详解
第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
6342 0
|
存储 安全 编译器
C++:宏定义(#define)和常量(const)的区别
在测试对矩阵进行 SVD 分解时,需要定义矩阵的行和列的大小,下面我们开始思考宏定义和常量之间有些什么样的分别。
621 0
C++:宏定义(#define)和常量(const)的区别
#define与typedef区别
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9 写成字母g 预处理也照样带入。
975 0