首页 / 知识
关于typedef:如何阅读C声明?
2023-04-16 22:31:00

How do you read C declarations?我听说过一些方法,但是没有一个卡住。 我个人试图避免在C语言中使用复杂类型,并尝试将它们分解为组件typedef。 我现在面临着维护所谓的"三星级程序员"的一些遗留代码的麻烦,而且我很难读一些*** code [] []。 您如何阅读复杂的C声明? 本文介绍了一个相对简单的7条规则,如果您发现自己有需要或需要手动阅读C声明,可以使用它们进行阅读:http://www.ericgiguere.com/articles/reading-c-declarations.html
如果您对工具满意,那么我建议使用程序
我通常会使用有时称为"右手顺时针规则"的内容。
还有一个附加的元规则必须注意:
在这里,"去"和"移动"到某处意味着在该处读取符号。规则是:
因此,例如,
一个词:cdecl 该死的,被打了15秒! Cdecl(和c ++ decl)是用于编码和解码C(或C ++)类型声明的程序。 http://gd.tuwien.ac.at/linuxcommand.org/man_pages/cdecl1.html 回到我做C的时候,我使用了一个名为" cdecl"的程序。看来它是在Ubuntu Linux中的cutils或cdecl软件包中提供的,并且可能在其他地方可用。 还有一个基于Web的cdecl版本,非常漂亮。 cdecl提供了一个命令行界面,因此让我们尝试一下:
另一个例子
但是,在" C Deep Secrets"一书中有一整章的内容,名为" C中的解密声明"。 刚遇到" C语言的发展"中的一个启发性部分:
自动化解决方案是cdecl。 通常,您以使用变量的方式声明变量。例如,您取消引用指针p的方式如下:
您以类似的方式声明它:
多毛的函数指针也是如此。让我们将f声明为老式的"返回指向int的指针的函数的指针",以及一个有趣的外部声明。它是一个函数的指针,因此我们从以下内容开始:
它返回一个指向int的指针,所以在前面的某个地方
现在哪个是正确的关联性?我不记得了,所以请加上一些括号。
声明使用方式。 常见的可读性问题包括函数指针以及数组实际上是指针,而多维数组实际上是单维数组(实际上是指针)。希望对您有所帮助。 无论如何,只要您理解声明,也许您就可以找到一种简化声明的方法,以使下一个家伙更易读。 |
最新内容
相关内容
查看linux类型命令?
查看linux类型命令?,系统,信息,命令,状态,数据,数字,情况,地址,类型,文件,linux查看系统命令是什么1、linux怎么查看系统版本呢,下面就让我们来linux删除类型命令?
linux删除类型命令?,系统,档案,命令,文件,名称,环境,数据,不了,目录,文件夹,关于linux的删除命令命令格式:rm [选项] 文件… 命令功能:删除一个linux使用命令的方法?
linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,图标,linux的cd命令的使用方法1、cd ~:回到用户家目录。注:这得看你查看linux库类型命令?
查看linux库类型命令?,系统,工作,信息,状态,电脑,命令,工具,代码,地址,发行,如何查看Linux上程序或进程用到的库查看程序依赖的动态库:readelflinux网卡类型命令?
linux网卡类型命令?,网络,系统,地址,信息,设备,状态,服务,名称,名字,网卡,如何配置Linux网卡配置网卡地址:点击 网络(K) 按钮进行配置网络 选择linux查看命令类型用?
linux查看命令类型用?,信息,系统,情况,命令,实时,工作,设备,电脑,文件,类型,如何区分linux文件类型?1、普通文件类型 Linux中最多的一种文件类linux命令三种类型?
linux命令三种类型?,工作,地址,系统,标准,时间,管理,命令,目录,信息,文件,linux常用命令linux常用命令:查看内核版本:uname-a。图形界面:init5或linux安装组件包命令?
linux安装组件包命令?,软件,官网,服务,系统,工具,发行,工作,信息,名称,命令,Linux安装软件的命令是什么?1、最后依次输入以下命令:./configurelinux命令输入方法?
linux命令输入方法?,系统,电脑,密码,管理,地址,命令,网站,工具,首开,位置,linux终端输入~怎么弄中间在电脑上打开需要的Word文件进入。进入到文Python中什么是反射?使用方法有哪
Python中什么是反射?使用方法有哪些?,信息,培训,状态,术语,检测,反射,属性,对象,字符串,方法,反射这个术语在很多语言中都存在,并且存在大量的Python中有哪些方法可以解压文件?
Python中有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大Python列表类型list合并有哪些方法
Python列表类型list合并有哪些方法?,培训,方法,列表,可能会,数组,切片,下文,字符串,数据类型,请看,在Python编程语言中,有各种数据类型,比如字符