logo

C のヘッダー ファイル

C言語 、ヘッダー ファイルには、事前定義された標準ライブラリ関数のセットが含まれています。の .h は C のヘッダー ファイルの拡張子であり、C の前処理ディレクティブにヘッダー ファイルを含めることでプログラム内でヘッダー ファイルの使用を要求します。 #含む。

C ヘッダー ファイルは、プリプロセッサ ディレクティブ #include を使用してプログラムにインポートすることにより、ライブラリ関数、データ型、マクロなどの機能を提供します。



C のヘッダー ファイルの構文

事前定義されたヘッダー ファイルであるかユーザー定義のヘッダー ファイルであるかに関係なく、指定された 2 つの構文のいずれかを使用してヘッダー ファイルを C にインクルードできます。

JavaFX チュートリアル
#include // for files in system/default directory or #include 'filename.h' // for files in same directory as source file>

#include プリプロセッサは、コンパイル前にヘッダー ファイルを処理する必要があることをコンパイラに指示し、必要なデータ型と関数定義をすべて含めます。

C のヘッダー ファイル

C ヘッダー ファイル



C のヘッダー ファイルの例

以下の例は、標準入力および出力の stdio.h ヘッダー ファイルを使用したヘッダー ファイルの使用方法を示しています。

C






// C program to demonstrate the use of header files> // standard input and output stdio.h header file> #include> int> main()> {> >printf>(> >'Printf() is the function in stdio.h header file'>);> >return> 0;> }>

>

>

出力

Printf() is the function in stdio.h header file>

C ヘッダー ファイルの種類

C には 2 種類のヘッダー ファイルがあります。

    標準/既存のヘッダー ファイル 非標準/ユーザー定義のヘッダー ファイル

1. C の標準ヘッダー ファイルとその用途

標準ヘッダー ファイルには、C プログラミング言語の ISO 標準で定義されたライブラリが含まれています。これらはコンパイラのデフォルト ディレクトリに保存され、どのベンダーのすべての C コンパイラにも存在します。

最新バージョンの C 言語には 31 個の標準ヘッダー ファイルがあります。以下は、C で一般的に使用されるヘッダー ファイルのリストです。

ヘッダファイル

説明

これには、プログラムのデバッグを支援する診断を追加するための情報が含まれています。
errno()、strerror()、perror() などのエラー処理操作を実行するために使用されます。

これには、浮動小数点値に関連するさまざまなプラットフォーム依存の定数のセットが含まれています。これらの定数は ANSI C によって提案されています。

これらにより、プログラムの移植性が高まります。このヘッダー ファイルに含まれる定数の例としては、e(指数)、b(基数/基数) などがあります。

sqrt() 、 log2() 、 pow() などの数学的演算を実行するために使用されます。
これは、signal() や raise() などのシグナル処理関数を実行するために使用されます。

これは、va_start() や va_arg() などの標準引数関数を実行するために使用されます。の開始を示すためにも使用されます。

可変長引数リストと、プログラム内の可変長引数リストから引数をそれぞれフェッチします。

これには、特定のプロパティの文字をテストする関数の関数プロトタイプと、

大文字を小文字に、またはその逆に変換するために使用できる関数。

これは、 scanf() 、 printf() などの関数を使用して入出力操作を実行するために使用されます。

これには、malloc()、realloc() などの標準ユーティリティ関数が含まれています。バイパスを可能にする関数の関数プロトタイプが含まれています。

通常の関数呼び出しと戻りシーケンス。

これは、次のような文字列操作に関連するさまざまな機能を実行するために使用されます。 strlen() 、 strcmp() 、 strcpy() 、 size() など。

これは、さまざまな変数タイプのさまざまなプロパティを決定します。このヘッダーで定義されたマクロは、次の値を制限します。

char、int、long などのさまざまな変数タイプ。これらの制限は、変数に値を格納できないことを指定します。

これらの制限を超えると、たとえば、符号なし文字は最大値 255 まで格納できます。

date() に関連する関数を実行するために使用されます。 時間() setdate() や getdate() など。システムの日付を変更するためにも使用されます

と CPU 時間をそれぞれ取得します。

これには、C が計算を実行するために使用する一般的な型定義が含まれています。

これには、実行中の現在のロケールに合わせてプログラムを変更できるようにする関数プロトタイプやその他の情報が含まれています。

これにより、コンピューター システムは、世界中の時刻、日付、大きな数値などのデータを表現するためのさまざまな規則を処理できるようになります。

以下の例は、C で一般的に使用されるヘッダー ファイルの使用法を示しています。

C




// C program to illustrate> // the use of header file> // in C> #include> #include> #include> #include> // Driver Code> int> main()> {> >char> s1[20] =>'12345'>;> >char> s2[10] =>'Geeks'>;> >char> s3[10] =>'ForGeeks'>;> >long> int> res;> >// Find the value of 9^3 using a> >// function in math.h library> >res =>pow>(9, 3);> >printf>(>'Using math.h, '> >'The value is: %ld '>,> >res);> >// Convert a string to long long int> >// using a function in stdlib.h library> >long> int> a =>atol>(s1);> >printf>(>'Using stdlib.h, the string'>);> >printf>(>' to long int: %ld '>, a);> >// Copy the string s3 into s2 using> >// using a function in string.h library> >strcpy>(s2, s3);> >printf>(>'Using string.h, the strings'> >' s2 and s3: %s %s '>,> >s2, s3);> >return> 0;> }>

Javaは文字列を追加します

>

>

出力

Using math.h, The value is: 729 Using stdlib.h, the string to long int: 12345 Using string.h, the strings s2 and s3: ForGeeks ForGeeks>

2. C の非標準ヘッダー ファイルとその使用法

非標準のヘッダー ファイルは、言語の ISO 標準の一部ではありません。これらは通常、カスタム ライブラリ関数を含めるなどの目的でプログラマによって定義されたすべてのヘッダ ファイルです。これらはユーザーによって手動でインストールされるか、特定のベンダーによるコンパイラの一部である場合があります。

C言語には非標準ライブラリがたくさんあります。一般的に使用される非標準/ユーザー定義ヘッダー ファイルの一部を以下に示します。

10ミリリットルは何オンスですか
ヘッダファイル 説明
いくつかの便利なコンソール機能が含まれています。
これには、GNU の C 用 GUI ライブラリが含まれています。

以下の例は、conio.h 非標準ヘッダー ファイルの使用を示しています。

C




#include> #include> // Function to display a welcome message> void> displayMessage() {> >printf>(>'Hello! Geek '>);> }> int> main() {> >// Using conio.h functions> >printf>(>'Press any key to print message '>);> >getch();>// Wait for a key press> >// Call the additional function after a key press> >displayMessage();> >return> 0;> }>

>

>

出力

Press any key to print message Hello! Geek>

C で独自のヘッダー ファイルを作成する

大規模で複雑なコードを記述する代わりに、独自のヘッダー ファイルを作成し、いつでも使用できるようにプログラムに組み込むことができます。コードの機能性と可読性が向上します。独自のヘッダー ファイルを作成する手順は次のとおりです。

ステップ1: 独自の C コードを作成し、そのファイルを .h 拡大。以下はヘッダー ファイルの図です。

C




// Function to find the sum of two> // numbers passed> int> sumOfTwoNumbers(>int> a,>int> b)> {> >return> (a + b);> }>

>

csma と csma cd

>

ステップ2: ヘッダー ファイルをインクルードします。 #含む C プログラムでは次のようになります。

C




// C++ program to find the sum of two> // numbers using function declared in> // header file> #include 'iostream'> // Including header file> #include 'sum.h'> using> namespace> std;> // Driver Code> int> main()> {> >// Given two numbers> >int> a = 13, b = 22;> >// Function declared in header> >// file to find the sum> >printf>(>'Sum is: %d'>, sumoftwonumbers(a, b));> }>

>

>

出力

Sum is: 35>

複数のヘッダー ファイルをインクルードする

プログラムではさまざまなヘッダー ファイルを使用できます。プログラム内にヘッダー ファイルが 2 回インクルードされると、コンパイラはそのヘッダー ファイルの内容を 2 回処理します。これにより、プログラムでエラーが発生します。このエラーを排除するには、条件付きプリプロセッサ ディレクティブが使用されます。

構文

#ifndef HEADER_FILE_NAME #define HEADER_FILE_NAME the entire header file #endif>

この構造はラッパーと呼ばれます #ifndef 。ヘッダーが再度インクルードされると、条件は false になります。 HEADER_FILE_NAME と定義されています。プリプロセッサはファイルの内容全体をスキップし、コンパイラはファイルの内容を 2 度認識することはありません。

場合によっては、プログラムの要件に基づいて、複数のさまざまなヘッダー ファイルをインクルードすることが重要です。このために、複数の条件が使用されます。

構文

#if SYSTEM_ONE #include 'system1.h' #elif SYSTEM_TWO #include 'system2.h' #elif SYSTEM_THREE .... #endif>