C的命名约定:结构和函数

C的命名约定:结构和函数,第1张

概述C的命名约定:结构和函数

在sigaction.h头文件中探索处理系统信号请求的设备时,我注意到一个结构和一个返回int的函数被命名为sigaction 。

尽pipe它在语义上似乎是正确的,但由于编译器应该能够在两个定义之间进行推导,为什么sigaction有效C语法的重复定义?

linux相当于windows的EnterCriticalSection

使用SMTP作为IP地址发送邮件时,无法parsing远程名称

检查两个NTAccount对象的相等性

Qt Creator无法find标题(说:“没有这样的文件或目录”)

混合function代码和预处理器指令是一个不好的做法吗?

在C中,结构标签与其他名称存在于不同的名称空间中。 该结构称为struct sigaction ,而功能只是sigaction 。

编译器能够分离结构标签(也是联合和枚举),因为它们分别遵循关键字struct / union / enum (C11§6.2.3p1)。

然后,根据§6.7p3,声明必须在“同名空间”内是唯一的。

由于结构标签和功能标识符(它们是普通标识符 )不在同一个名称空间中,因此“冲突”是可以的。

说到使用,你不能这样做:

typedef struct _test { int a; } test; voID test(voID) { }

编译器会通知你:

test.c:5:6: error: 'test' redeclared as different kind of symbol voID test(voID) { ^ test.c:3:3: note: prevIoUs declaration of 'test' was here } test;

总结

以上是内存溢出为你收集整理的C的命名约定:结构和函数全部内容,希望文章能够帮你解决C的命名约定:结构和函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1281412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存