問題タブ [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.
c - 「for」条件で宣言された変数のスコープは何ですか?
これは有効な C コードですか? i のスコープは何ですか?
c - clang c11 threads.h が見つかりません
xcodeでc11スレッドの例をセットアップしようとしています...しかし、ここで説明されているマクロについては満足していませんが、threads.hヘッダーがないようです:
http://www.open-std. org/jtc1/sc22/wg14/www/docs/n1570.pdf
__STDC_NO_THREADS__実装が <threads.h> ヘッダーをサポートしていないことを示すための整数定数 1。
c - それ以降のバージョンの gcc で c11 を有効にするにはどうすればよいですか?
私は現在使用していますgcc 4.6.3
。私の理解ではgcc
、デフォルトでgnu89
標準を使用しており、最新の C 標準である C11 を有効にしたいと考えています。私は試した:
に置き換えましc11
たgnu11
が、同じエラーが発生します。gcc の最新の C 標準を有効にする正しい方法は何ですか?
(注: 最新の C++ 標準ではなく、最新の C 標準に興味があります。)
c - 「準拠するコンパイラは、正規化されていない浮動小数点数を実装しないことを選択する場合があります」の意味は何ですか?
ISO/IEC 9899:2011 §5.2.4.2.2 ¶10 (p48) は次のように述べています。
非正規数の有無は、FLT_HAS_SUBNORM、DBL_HAS_SUBNORM、およびLDBL_HAS_SUBNORMの実装定義の値によって特徴付けられます。
-1 不確定
0 なし (タイプは非正規数をサポートしていません)
1 あり (タイプは非正規数をサポートしています)
なんと!それで、いくつかのプラットフォームでは私は書くことができませんdouble d = 33.3
か? または、コンパイラはこれを自動的にに変換し333E-1
ますか? 正規化されていない浮動小数点数の有無の実際的な意味は何ですか?
c - Cの複合型とは何ですか?
§6.2.7.5 (66 ページ)から:
例 次の 2 つのファイル スコープ宣言があるとします。
関数の結果の複合型は次のとおりです。
上記の例では、複合型は 2 つの異なる型と互換性のある型であると説明しています。「複合型」という言葉は、「構造と結合」を意味するものとして直感的に理解できますが、これは的を外しているように見えます。
Cの複合型とは何ですか? また、それは何に使用されますか? 誰かが上記の例を詳しく説明してくれませんか?
c - _Generic および複数のパラメーターを持つ関数
_Generic
私はウィキペディアでこのC11の例を読んでいました:
パラメーターが 1 つしかない関数に使用する方法は明らかですが、このシステムで 2 つ (またはそれ以上) の汎用パラメーターを持つ関数を作成する方法がわかりません。どうしてそれが可能でしょうか?
コンパイラがこの機能をサポートしていれば、いくつか試してみたでしょうが、見つけることができなかったため、その方法についてのアイデアを見つけることができませんでした。
c - 左辺値の変換中に & が特別な理由と | 言及したことはありませんか?
セクション§6.3.2.1 (72 ページ) では、
- An
lvalue
は、オブジェクト、つまりメモリの一部を意味します。 - 式の評価中に、オブジェクトはその値に変換されます。つまり、オブジェクトではなくなります。注目すべき例外は、
=
、&
、.
、++
、--
の左オペランドですsizeof
。 - 配列は通常、最初の要素への定数ポインターに変換されます。繰り返しますが、のオペランド
&
は例外です。 - 関数は暗黙的に関数へのポインターに変換されます。単項のターゲットの場合を除き
&
ます。
なぜ単項は&
それほど特別なのですか?単項|
が言及されないのはなぜですか?