如何快速理解并记住 C 语言中的 typedef
假设有如下代码,你声明了一个函数指针funa
:
1 | int *funa (int k); |
编译器就知道这一行声明了一个函数指针,其指向的函数接收一个int
类型的参数,返回值为int
。
现在项目经理给编译器作者说,“我要有一个typedef的功能,要能给某个类型起别名。”
编译器作者说:“你不早说,我代码都写完了”。
抱怨归抱怨,编译器作者但还是得写,那就用之前的轮子吧
1 | typedef int *Funa (int k); |
项目经理说:“这不就何之前一样了吗”
编译器作者说:“谁让你不早说,这样我就能直接拿轮子了”
项目经理说:“也好,这样也好记住”。
那么:
1 | Funa p1; |
p1
和p2
是等价的。
因为Funa
和int * (int k)
是一个类型,p1
和p2
是一个类型。
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Naylen's Blog!
评论