https://stackoverflow.com/questions/1675351/typedef-struct-vs-struct-definitions
#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点不同:
* typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。
* typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。
https://segmentfault.com/a/1190000004684615
需要注意的是,虽然变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符,但在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址。
https://blog.csdn.net/soloist/article/details/319214
https://overiq.com/c-programming/101/void-pointers-in-c/
https://stackoverflow.com/questions/21476869/constant-pointer-vs-pointer-to-constant
* 数据类型
* 数据类型名
* 符号名称
* 别名
* 指针函数
* 函数指针