如何快速理解并记住 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!
评论




