此标签用于有关国际标准ISO 9899:1999,又名“C99”的问题,包括技术勘误,以及有关用C99编写的代码的问题(与K&R C,C89或更高版本C标准修订版本相反,如2011年修订版C11) 。
将 C 或 C99 中的结构数组初始化为所有相同的值[重复]
让我们在 C 或 C99 中假设以下内容: 类型定义结构 { 整数x; 双 y; } MY_S; MY_S a[666] = {333, 666.6}; 这是否只初始化数组的第一个对象?如果是的话有什么办法吗...
为什么标准 C 库具有多个头文件,而不是将内容合并到单个头文件中? [已关闭]
为什么标准C库需要多个头文件?将其合并到一个头文件中不是更方便用户使用吗? 我明白没有必要包含 func...
C99 和 MISRA C:2012 中指针转换的未定义行为
我正在开发一个 C99 项目,该项目要求我们遵循 MISRA C:2012 标准。 规则 11.3 本质上是防止在不声明合理的情况下在不同对象类型之间转换指针
将一个结构变量分配给另一个具有位字段的相同类型的结构变量,在 C、UB 中?
我问AI(克劳德),它告诉我是UB。这是真的吗? #包括 结构 BitFieldStruct { 无符号整型:5; 无符号整数:3; // 3位填充位 无符号整型 b : 6; 联合国...
如果我想最小化我的C程序运行时间,我应该使用什么优化标志(我也想保持标准) 目前我正在使用: -墙 -Wextra -迂腐 -ansi -O3 我也应该使用...
我正在实现一个学习 C 的玩具项目,我有一个关于无符号类型转换规则的看似简单的问题。 我特别想知道 C 标准是否需要无符号类型
在内联说明符的 C99 标准(6.7.4 第 6 段)中指出: “如果翻译中函数的所有文件范围声明 单元包括内联函数说明符,不带 ex...
我想知道我当前在 Visual Studio C++ 中使用哪个 C 标准,但我在使用 __STDC_VERSION__ 预定义宏和其他 C99 预定义宏时遇到问题 - 错误指示...
例如, 整数结果; 结果 = 125/100; 或者 结果 = 43/100; 结果总是分区的底线吗?定义的行为是什么?
我知道为什么 GCC 默认情况下不会重新排序结构的成员,但我很少编写依赖于结构顺序的代码,所以有什么方法可以将我的结构自动标记为
来自C99标准,6.7(5): 声明指定一组标识符的解释和属性。标识符的定义是该标识符的声明: 对于
我一直在阅读有关函数指针兼容性的内容,但尚未发现以下场景记录为可接受的(如下)。 使用此代码,允许(没有警告)调用
我创建了一个打印键和值对的函数,其中键是可信的编译时文字字符串,可能包含 printf 说明符。现在我的问题是:这个函数是...
我需要制作vprintf的包装器,以便可以完成类似printf的函数的多种实现。这段代码演示了这个问题: #包括 #包括 #在...
我有两个返回结构的函数,一个通过复合文字返回它,另一个初始化一个变量然后返回它: 类型定义结构{ 整数存储[256]; } 数据_t; 数据_t
考虑以下代码: 外部 int A[2]; /* 只是返回 `p`。 */ extern int *identity(int *p); int f(int *限制 p) { int *q = 身份(p); /* `q` 变成“基于” `p` */ ...
我是编程新手,我们正在编写一个“杂货店”和一个“袋子”,我们在其中购买东西,然后将其添加到袋子中。 我尝试在“杂货店”中使用局部变量...
我在某人的 C 源代码中偶然发现了以下内容: 类型定义结构{ u32 注册; } reg_t; #define _REG(r) ((const reg_t){.reg=(r)}) #定义 REG_A _REG(123) #定义 REG_B _REG(456) ......
编辑:天哪,我觉得很愚蠢。当然,您无法从长数转换为双数,然后再转换回来 - 长数具有更高的有效位。转换为 long double 会改善这一点吗? 我很困...