问题标签 [c11]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2326 浏览

c - 初学者的 scanf_s() 残疾

我知道 scanf_s() 有一些奇怪的地方,但我无法解决这个问题。我的代码通过使用 scanf() 运行良好,但这不会反转数组的元素:( 任何帮助将不胜感激。谢谢。

0 投票
3 回答
830 浏览

c - C 标准 malloc'ing 字符的潜在问题

当在这里回答我的另一个答案的评论时,我发现我认为可能是 C 标准中的一个漏洞(c1x,我没有检查过早期的标准,是的,我知道我独自一人在所有星球的居民在标准中发现了一个错误)。信息如下:

  1. 第 6.5.3.4 节(“sizeof 运算符”)第 2 段状态"The sizeof operator yields the size (in bytes) of its operand"
  2. 该节第 3 段规定:"When applied to an operand that has type char, unsigned char, or signed char, (or a qualified version thereof) the result is 1".
  3. 第 7.20.3.3 节描述void *malloc(size_t sz)但它所说的只是"The malloc function allocates space for an object whose size is specified by size and whose value is indeterminate". 它根本没有提到参数使用什么单位。
  4. 附件 E 开头的 8 是最小值CHAR_BIT因此字符的长度可以超过一个字节。

我的问题很简单:

在一个 char 为 16 位宽的环境中,将malloc(10 * sizeof(char))分配 10 个字符(20 个字节)还是 10 个字节?上面的第1点似乎表示前者,第2点表示后者。

任何比我拥有更多 C-standard-fu 的人对此有答案吗?

0 投票
2 回答
663 浏览

c - C1X 最有用的提议功能是什么?

到目前为止,C1X 提出的最有用的功能是什么?当前的编译器对它们有什么支持?

0 投票
2 回答
371 浏览

c - 如何参与 C 标准化过程?

最近我对 C 标准化产生了兴趣。我想参与C1X的开发。我想提出我的想法(无论他们被接受/拒绝)。

我想知道程序。WG14 文件显示了按邮件列表排序的各种文件。我在哪里可以加入一个这样的邮件列表?如何提交提案?我看过一些提案,最初的提案似乎没有特定的格式。在文件的最后,C9X 已批准提案的状态它几乎没有提供有关该过程所涉及的所有 6 个阶段的信息。

0 投票
5 回答
3263 浏览

c - C1x:它什么时候降落,会发生什么?

许多编译器仍然不支持 C99,现在的重点主要集中在 C++ 及其即将推出的标准 C++1x 上。

我很好奇 C 将在其下一个标准中“获得”什么,何时获得,以及它将如何保持 C 的竞争力。众所周知,C 和 C++ 以相互改进为食,C 会以 C++1x 标准为食吗?

我对 C 的未来有什么期待?

0 投票
3 回答
9130 浏览

c - C1X 中匿名结构或联合的初始化

我有以下问题:如何根据当前的C1X 草案正确初始化匿名结构(或联合) ?这是否合法:

在 GCCg.j == 0g.b == 3中,而在 tccg.j == 3g.b == 0. 目前的草案说:

“[...] 结构和联合类型对象的未命名成员不参与初始化。结构对象的未命名成员即使在初始化之后也具有不确定的值。”。

这真的是真的吗?不是吗

应该将所有成员设置为0?

非常感谢!

更新

由于匿名成员似乎只在混合结构/联合时才有用,如何正确初始化它:

? 这会在 gcc < 4.6 和 icc 11 中产生错误,但在 gcc 4.6、icc 12、clang 和 tcc 中有效:

这会在 clang 和 tcc 中产生错误,但在 gcc 和 icc 中有效:

第二个是否违反标准?

0 投票
2 回答
2767 浏览

c - thrd_busy 和 mtx_lock()/mtx_timedlock()

我对 C1x 互斥锁(第 7.25.4 节)有以下疑问:

在哪些情况下可以mtx_lock()返回thrd_busy而不是阻塞?在哪些情况下可以mtx_timedlock()返回thrd_busy

请注意,thrd_busy在 §7.25.1 ¶5 中定义为“当测试和返回函数请求的资源已在使用中”时返回。

当使用 a或mutex调用时,我希望thrd_busy仅由mtx_trylock()或最多返回,但绝对不是 from ,这需要一个支持超时的互斥锁,即 a或互斥锁。mtx_lock()mtx_trymtx_try | mtx_recursivemtx_timedlock()mtx_timedmtx_timed | mtx_recursive

这是草案中的公正和监督吗?还是我错过了什么?

0 投票
2 回答
694 浏览

c - 我可以将结构指针转换为指向 C1x 中的初始匿名成员吗?这甚至是正确的问题吗?

我对 C1x 中的匿名结构有点困惑。适当转换的结构指针指向它的第一个成员的规则是否适用于初始匿名结构,或者仅适用于初始匿名结构的初始成员?特别是,这个程序在 C1x 中有意义吗?

这个答案表明我可能在询问未命名的结构而不是匿名结构。我完全误解了匿名结构的性质吗?

0 投票
4 回答
926 浏览

c - 是否有任何 c 编译器实现了任何 C1X 功能?

是否有任何 c 编译器实现了任何 C1X 功能?

PS:有没有办法在当前的 c 编译器中模拟其中一些功能

0 投票
2 回答
583 浏览

c++ - C1x 从 C++ 继承了什么?

众所周知,C++ 都继承了 C 的特性,但 C 也标准化了 C++ 的特性。C1x 获得了完整的表达临时性(以前它只有序列点临时性)。C1x 也借鉴了 C++11 线程工作。

我想知道 C1x 从 C++ 中获得了哪些其他功能?