#Java と C 言語の違いは何ですか?
1. Java と C のメモリ割り当ては異なります:
Java には 5 つのメモリ割り当て領域があります。ローカル変数、使用後すぐにリサイクルされます)、ヒープ領域(新しいもの、エンティティ、オブジェクトを格納します、各オブジェクトはアドレス値を持ち、各オブジェクトのデータはデフォルト値を持ちます。使用後はガベージに収集されます)プロセッサはアイドル状態です)、メソッド領域、ローカルメソッド領域(システムに関連する)、レジスタ領域(CPU によって使用されます)。 [推奨学習: java コース ]
C には、スタック領域 (関数のパラメーターやローカル変数の値を格納する) とヒープ領域 (動的メモリの適用と解放、プログラマがメモリを解放しない場合、プログラム終了後にオペレーティング システムによって解放される可能性があります)、グローバル領域(静的領域)、コード領域。
2. 関数
1) 変数と関数の場合、C では宣言と定義を実装する必要がありますが、Java には定義のみがあり、宣言はありません。 # 2) C はオブジェクト指向ではないため、C のすべてのグローバル変数と関数は基本的に Java に対して静的です。 Java はオブジェクト指向言語であるため、メイン関数や変数などの関数をクラスやインターフェイスの外で宣言することはできません。 C では、1 つのファイルで多数のグローバル変数を定義し、共有を実現するために他のファイルでこれらの変数を参照によって宣言するのが一般的ですが、Java ではグローバル変数や関数を使用できません。
3) C 関数の戻り値の型が宣言された型と一致しない場合、関数が戻る前に関数の戻り値はこの型に自動的に変換されます。Java でこの状況に直面した場合は、強制的な型変換を追加する必要があります。
4) C の関数呼び出しパラメータ計算の順序は未定義ですが、Java には左から右の順序があります;
5) C の変数または関数が別のファイルで定義されている場合、変数または関数は extern を使用して宣言する必要があります。これらは、個々のファイルがコンパイルされるときには表示されませんが、リンク段階では表示されます。 Java のコンパイラにはそのようなリンク フェーズがなく、必要なファイルはすべてコンパイル中に表示されなければなりません;
6) C プログラムと Java プログラムはどちらも main 関数から実行を開始します。 C の main 関数には通常、argc と argv という 2 つのパラメータが必要です。argc にはコマンド ライン パラメータの数が含まれ、argv には実際のコマンド ライン パラメータが含まれます。Java の main では、メソッド パラメータとして stringargs[] を使用する必要があります。実行中のシステム Java アプリケーションの起動時に使用されるコマンド ライン パラメータ;
7) C および Java では exit 関数を呼び出してプログラムを終了できます; C では abort 関数を使用して異常終了したプログラムを終了できますJava 対応ストラテジーにはそのような機能はありません。
3. プリプロセッサとヘッダー ファイルの比較Java にはプリプロセッサもヘッダー ファイルもありません; C では、プリプロセッサはテキストを受け取るだけで、他のテキストに変換されます。 C では、ヘッダー ファイルは通常、プロトタイプ、グローバル変数、ライブラリ関数などを宣言するために使用されます。
4. 使用法についてC 言語: Pure C は、最も簡単に作成できる言語であるため、一般に組み込みシステムで最低レベルのプログラムを作成するために使用されます。ハードウェアに接続します。できること: 組み込みの低レベル ソフトウェア、オペレーティング システム、さまざまな関数ライブラリ、エンジン ライブラリ ソフトウェアのコア コード、サーバー側の低レベル ツール。
JAVA: J2EE、J2SM、J2ME、その他何でも。できること: 組み込みモバイル デバイス アプリケーション ソフトウェア開発、Web ページのバックグラウンド ロジック開発、一部のデスクトップ プログラム
C、JAVA は実際にさまざまな分野で使用できます。
5. 動作モードに関して:C 言語: オリジナルの C はプロセス指向、つまり 1 行ずつ実行されます。
JAVA: 完全にオブジェクト指向であり、モジュールによって実行されます。
(補足: もちろん、C と C# では、C もオブジェクト指向モードに変換されます)
6. 別の構文:
##C 言語は動的ライブラリをカプセル化できますが、Java はできません;
以上がJavaとC言語の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。