一起来学cdecl
来源:互联网 发布:贵阳 大数据 编辑:程序博客网 时间:2024/04/29 22:06
cdecl 的一个非常强大的功能就是能够分析C语法中非常复杂的定义。
第一部分:用cdecl来学学const 在C语言的功能。
运行cdecl,
(1)const char * i;
cdecl> explain const char * i
declare i as pointer to const char
翻译: 定义i为指针,指向const类型的char。
(2) char *const i;
cdecl> explain char *const i
declare i as const pointer to char
翻译: 定义i为const型的指针,指向char。
(3)那么有没有char const *i; 这样的用法呢?那我们就试试吧,
cdecl> explain char const * i
syntax error
是否真的是语法错呢?那就得看看《The C Programming Language》了, 在A.8.6.1 Pointer Declarator 只有上面两种用法。于是用gcc试试,发现可以编译过去,和const char *i是一样,不知道是不是cdecl太严谨了呢,不过const *这种表示的确不好看。那const * char i; 呢?不过这就不用试了吧,*char 是个什么东西呀。
注意:网上有篇《水滴石穿C语言程序设计之正确使用const》其中有错误,比如const (char *) pContent; 这种定义的方法在cdecl和gcc 都报错。
第二部分: 用cdecl 学学函数指针。
(1) char (*a)()
cdecl> explain char (*a)()
declare a as pointer to function returning char
翻译: 定义a是一个函数指针,指向的函数返回char型。
(2) char (*a[])() 是什么?
cdecl> explain char (*a[])()
declare a as array of pointer to function returning char
翻译: a 是一个函数指针数组,数组成员指向的函数都是返回char型。
(3)char ((*a[])())() 又是什么???????
cdecl> explain char ((*a[])())()
declare a as array of pointer to function returning function returningchar
翻译: a是一个指针数组,数组成员指向返回 "函数" 指针的函数,(双引号中的函数的返回值是char型)。
(4) char *((*a[])())() 和上面的区别就不大了
cdecl> explain char *((*a[])())()
declare a as array of pointer to function returning function returning pointerto char
翻译: a是一个指针数组,数组成员指向返回 "函数" 指针的函数,(双引号中的函数的返回值是char型的指针)。
- 一起来学cdecl
- 一起来学SQL
- 一起来学OpenMP(1)
- 一起来学Makefile、make
- 一起来学英语
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- 一起来学SpringCloud之
- cdecl
- Windows Moible 5 Config(内部资料) 配置三 创建快捷方式
- [原创] Memcached 原理和使用详解(PPT/PDF)
- DAO层与Service层区别?
- 三秒抓住企业的心(节选)
- 值得收藏的MS SQL Server下的SQL语句
- 一起来学cdecl
- ldap login (cgi)
- C/C++板块常见问题集:(写给新手),欢迎大家补充
- Windows Moible 5 Config(内部资料)之四 启动项设置
- PDF分割合并工具 免费,绿色软件
- Red Hat Enteripse Linux5下配置yum源的方法
- 来到MQ的第一周(2.23-3.1):我真的走出了校园,步入了社会!
- 好久没看微型小说了
- Windows Moible 5 Config(内部资料) 之五 同步软件配置