【C言語】includeで使うカッコ<> と “” 違いについて解説

この記事では、C言語プログラムでヘッダーファイルをインクルードする際に使われるカッコ<>とダブルクォーテーション""の違いや使い分けについて解説します。

目次から探す

カッコ<>と””の違い

ソースコード中で、C言語プログラムのインクルードディレクティブには、カッコ< >とダブルクォーテーション" "を使います。

この記事では、それぞれの使い方と特徴について解説します。

カッコ<>の使い方と特徴

カッコ< >は主にシステムヘッダーファイルをインクルードする際に使用されます。

システムヘッダーファイルには、C言語の標準ライブラリや外部フレームワークなどが含まれます。

カッコ内にはファイル名が記載されますが、相対パスではなく絶対パスで指定する必要があります。

以下はカッコ<>を使用したインクルードディレクティブの例です。

#include <stdio.h>
#include <stdlib.h>

注意点として、カッコ<>内に記述するファイル名は通常システム上の標準位置から探索されるため、プロジェクト固有のユーザーヘッダーファイルなどを指定することは推奨されません。

“” の使い方と特徴

引用符 " "(ダブルクォーテーション)はユーザーヘッダーファイルのインクルードに使用されます。

ユーザーヘッダファイルは、プログラム内で定義した独自の関数やデータ構造を含んでいる場合に利用します。

一般的に、カレントディレクトリや指定した相対パスから探索されます。

以下は引用符 " " を使用したインクルードディレクティブの例です。

#include "myheader.h"

このような形式でインクルードすることで、プログラマーが作成したユーザー固有のヘッダーファイルを読み込むことができます。

注意点として、" " 内に記述するファイル名は通常のテキスト文字列と同じ扱いとなり、プロジェクト内部から探索されるために相対パスも指定可能ですが、推奨されていません。

カッコ<>と””の使い分け

システムヘッダーファイルとユーザーヘッダーファイル

カッコ<>""はC言語でファイルをインクルードする際に使用される記号ですが、使い方や意味合いには違いがあります。

まず、カッコ<>はシステムヘッダーファイルを指定するために使用されます。

システムヘッダーファイルとは、C言語のライブラリやプログラマー自身が作成しない標準的なヘッダーファイルのことです。

たとえば、stdio.hやstdlib.hなどがこれに当てはまります。

このようなシステムヘッダーは通常、OSやコンパイラに付属しており、その環境特有の処理や機能を提供します。

一方で、 " (2重引用符)でくくられた文字列はユーザーヘッダーファイルを指定するために使用されます。

ユーザーヘッダファイルとは、プログラマー自身が作成した固有のヘッダファイルです。

このようなフィアールドではプログラマが定義した関数・変数・マクロがあります。

これらのヘッダーファイルは、プログラム内で自分で定義する必要があります。

カッコ<>と””の使い分けの基準

カッコ<>""を使い分ける基準は非常にシンプルです。

もしインクルードするファイルがシステムヘッダーファイルであれば、カッコ<>を使用します。

一方、インクルードするファイルがユーザーヘッダーファイルであれば、 " (2重引用符)を使用します。

このような使い分けは主に名前解決規則や検索パスなどに関係しており、正しい方法でインクルードすればコンパイラエラーを回避しなくて済みます。

目次から探す