ホームページ バックエンド開発 C#.Net チュートリアル C言語でのインクルードの使い方は何ですか?

C言語でのインクルードの使い方は何ですか?

Jun 15, 2020 pm 03:41 PM
include

C言語でのインクルードの使い方は何ですか?

#C 言語の include の使い方は何ですか?

#1. #include コマンドの概要

#include コマンドは前処理コマンドの一種で、他のソースコードを次のソースコードに変換することができます。コンテンツは指定された場所に挿入されます。コンテンツは、特定の条件下でのみコンパイルされるプログラム コードの特定の部分を識別できます。

は、同様の識別子関数を持つマクロを定義できます。コンパイル中に、プリプロセッサは他のテキスト置換を使用します。マクロ。

2. ヘッダー ファイルの内容を挿入

##include コマンドは、指定されたヘッダー ファイルの内容を対応する場所に挿入するようにプリプロセッサに指示します。プリプロセッサコマンドの。挿入するヘッダー ファイルを指定するには 2 つの方法があります。

#include <文件名>
#include "文件名"
ログイン後にコピー

標準ライブラリのヘッダー ファイルまたは実装バージョンによって提供されるヘッダー ファイルをインクルードする必要がある場合は、最初の形式を使用する必要があります。次の例に示すように:

#include <math.h>               // 一些数学函数的原型,以及相关的类型和宏
ログイン後にコピー

プログラム用に開発されたソース ファイルを含める必要がある場合は、2 番目の形式を使用する必要があります。 #include コマンドを使用して挿入されたファイルには、通常、.h ファイル拡張子が付けられ、関数プロトタイプ、マクロ定義、型定義が含まれます。

これらの定義は、#include コマンドが使用されている限り、どのソース ファイルでも使用できます。次の例に示すように:

#include "myproject.h" // 現在のプロジェクトで使用される関数プロトタイプ、型定義、およびマクロ

#include コマンドでマクロを使用できます。マクロを使用する場合、マクロの置換によって正しい #include コマンドが生成されるようにする必要があります。

例 1 は、そのような #include コマンドを示しています。

[例 1] #include コマンド内のマクロ

#ifdef        _DEBUG_
  #define       MY_HEADER       "myProject_dbg.h"
#else
  #define       MY_HEADER       "myProject.h"
#endif
#include        MY_HEADER
ログイン後にコピー

上記プログラムコードがプリプロセスに入ると、DEBUG マクロが定義されていれば、プリプロセッサの内容myProject_dbg.h の内容が挿入されます。定義されていない場合は、myProject.h の内容が挿入されます。

3. プリプロセッサがヘッダー ファイルを見つける方法

#include コマンドで指定されたファイルの検索パスは、指定された C 言語実装バージョンによって決まります。同時に、ファイル名で大文字と小文字が区別されるかどうかは実装バージョンによって決まります。コマンド内で山かっこ () を使用して指定されたファイルの場合、プリプロセッサは通常、特定のシステム パスを検索します。たとえば、Unix システムでは、パス /usr/local/include および /usr/include が検索されます。

コマンド内で二重引用符で指定されたファイル (「ファイル名」) の場合、プリプロセッサは通常、最初に現在のディレクトリを調べます。これは、プログラムの他のソース ファイルが含まれるディレクトリです。現在のディレクトリに見つからない場合、プリプロセッサはシステムのインクルード パスも検索します。ファイル名にはパスを含めることができます。ただし、ファイル名にパスが含まれている場合、プリプロセッサはそのディレクトリのみを検索します。

コンパイラ コマンド ライン オプションを使用するか、検索パスを環境変数 (通常は INCLUDE と呼ばれます) に追加することで、#include コマンドに独自の検索パスを指定することもできます。具体的な方法については、使用するコンパイラのドキュメントを参照してください。

4. ネストされた #include コマンド

#include コマンドはネストして使用できます。つまり、#include コマンドを通じてソース ファイル自体を挿入することができます。別の #include コマンドも含めます。プリプロセッサでは、最大 15 レベルのネストされたインクルードが可能です。

ヘッダー ファイルには別のヘッダー ファイルが含まれる場合があるため、同じファイルが複数回インクルードされる可能性があります。たとえば、ファイル myProject.h に次のコードが含まれているとします。

#include <stdio.h>
ログイン後にコピー

ソース ファイルに次の #include コマンドが含まれる場合、stdio.h は 2 回 (1 回は直接的に、もう 1 回は間接的に) インクルードされます。

#include <stdio.h>
#include "myProject.h"
ログイン後にコピー

ただし、条件付きコンパイル コマンドを使用すると、同じファイルを複数回インクルードすることを回避できます。例 2 ではこの手法を使用します。

[例 2] 複数のインクルードを避ける

#ifndef INCFILE_H_
#define INCFILE_H_
/* ...实际的头文件incfile.h的内容写在这里... */
#endif  /* INCFILE_H_ */
ログイン後にコピー

incfile.h を含むコマンドが初めて表示されるとき、INCFILE_H_ マクロは定義されていません。したがって、プリプロセッサは、INCFILE_H_ マクロの定義を含むコンテンツを #ifndef と #endif の間に挿入します。 incfile.h ファイルを埋め込んだ後、#ifndef 条件は false になり、プリプロセッサは #ifndef と #endif の間の内容を無視します。

推奨チュートリアル:「

C 言語

以上がC言語でのインクルードの使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語でchar配列の使用方法 C言語でchar配列の使用方法 Apr 03, 2025 pm 03:24 PM

Char Arrayは文字シーケンスをC言語で保存し、char array_name [size]として宣言されます。アクセス要素はサブスクリプト演算子に渡され、要素は文字列のエンドポイントを表すnullターミネーター「\ 0」で終了します。 C言語は、strlen()、strcpy()、strcat()、strcmp()など、さまざまな文字列操作関数を提供します。

C文字列におけるcharの役割は何ですか C文字列におけるcharの役割は何ですか Apr 03, 2025 pm 03:15 PM

Cでは、文字列でCharタイプが使用されます。1。単一の文字を保存します。 2。配列を使用して文字列を表し、ヌルターミネーターで終了します。 3。文字列操作関数を介して動作します。 4.キーボードから文字列を読み取りまたは出力します。

C言語で特殊文字を処理する方法 C言語で特殊文字を処理する方法 Apr 03, 2025 pm 03:18 PM

C言語では、以下などのエスケープシーケンスを通じて特殊文字が処理されます。\ nはラインブレークを表します。 \ tはタブ文字を意味します。 ESACEシーケンスまたは文字定数を使用して、Char C = '\ n'などの特殊文字を表します。バックスラッシュは2回逃げる必要があることに注意してください。さまざまなプラットフォームとコンパイラが異なるエスケープシーケンスを持っている場合があります。ドキュメントを参照してください。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

C言語でさまざまなシンボルを使用する方法 C言語でさまざまなシンボルを使用する方法 Apr 03, 2025 pm 04:48 PM

c言語のシンボルの使用方法は、算術、割り当て、条件、ロジック、ビット演算子などをカバーします。算術演算子は基本的な数学的操作に使用されます。割り当てと追加、下位、乗算、除算の割り当てには、条件操作に使用されます。ポインター、ファイル終了マーカー、および非数値値。

C言語でCharを変換する方法 C言語でCharを変換する方法 Apr 03, 2025 pm 03:21 PM

C言語では、charタイプの変換は、キャスト:キャスト文字を使用することにより、別のタイプに直接変換できます。自動タイプ変換:あるタイプのデータが別のタイプの値に対応できる場合、コンパイラは自動的に変換します。

C言語合計の機能は何ですか? C言語合計の機能は何ですか? Apr 03, 2025 pm 02:21 PM

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

C言語のcharとwchar_tの違い C言語のcharとwchar_tの違い Apr 03, 2025 pm 03:09 PM

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

See all articles