問題タブ [kr-c]
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 - プログラムがコンパイルされる理由
私はこのCコードを理解しようとしているだけです(プログラムによって機能的な目標を達成しようとしているわけではありません)。これは gcc を使用してコンパイルされます。このメインは main(int a, char *argv[] ) 形式ですか? 引数と関数本体の間で何かを宣言することは許されますか (ここでは char *a; に似ています)?
c - C の減衰規則
C では、関数は関数へのポインターに、配列はその最初の要素へのポインターに自動的に崩壊します。ただし、構造体と共用体は、それ自体へのポインターに減衰しません。
私の質問は、なぜ減衰ルールがこのように設計されたのですか? 私は主に (完全ではありませんが) K&R または委員会からの引用を期待しているので、この質問は主に意見に基づくものではありません。
c - 関数定義では無効な引数ですが、宣言ではプリミティブ データ型です
以下のコードでクエリがあります。以下のコードは、K&R c に従ってどのように解釈されますか? コンパイル エラーはなく、コードは問題なく実行されます。コードブロックのビルド オプションで-tradinalを使用しました。しばらく検索しましたが、満足のいく答えが得られませんでした。
c - 整数の配列および通常の整数の配列へのポインタ
KR C 本の 112 ページには、次のように書かれています。
10 個の整数の配列へのポインタです。上記と次の違いがわかりません:
1-arr2
それ自体が 10 個の整数の配列へのポインターではありませんか? (配列の名前はポインタそのものなので。)
2- 配列の名前が配列アドレスとその配列へのポインタである場合、arr1
との両方arr2
が整数の配列へのポインタです。これは本当ですか?