C言語入門(25) 知らないで使用していた#include、知らなくても使える #include

Posted: 2013年01月31日

今回はおなじみ#includeについて記述していきます。
#include文では、.h(ヘッダー)定義を参照することができます。
参照することで.hに記述されている関数を呼び出すことが可能になります。

タイトル通りですが
知らなくても問題はなく、知っていると評価される豆知識的なことを書いていきます。

#includeの方法には2通り存在します。

 #include <stdlib.h>
 #include "stdlib.h"

このサイトのサンプルコードでは、主にの記述を採用しています。
下記の決まりがあるためでもあります。

~と””では指定したヘッダファイルを探しに行く方法が異なります。

#include <>

  1. コンパイラーオプション(-I)で指定されたフォルダ (Visual Studioの場合)
  2. 環境変数LIB(Windows) /usr/include(Unix系)のフォルダ

#include “”

  1. 編集中のファイルが存在するフォルダ
  2. コンパイラーオプション(-I)で指定されたフォルダ (Visual Studioの場合)
  3. 環境変数LIB(Windows) /usr/include(Unix系)のフォルダ

#include<> “” の違い

編集中のファイルが存在するフォルダを含むか含めないかの違いです。
そのため使用方法としては、
開発プロジェクト(開発環境として)内の.hの場合は#include “”
他の開発プロジェクトや外部libなどの.hの場合は、 #include <>
を使用します。
上記したサンプルコードでを多用している理由は、すべて外部の.hのためを使用しています。

#include <string.h>と#include の違い

C++でよく出てきますが.hを指定しない記述方法がよく見られます。
こちらも処理が異なります。

.hを外すことで
C++専用のヘッダーファイルが格納されたディレクトリを参照します。
.hを外したほうが確実にstdのstring.hをincludeすることが可能になります。
string.hのほうが丁寧な気がしますがstringのほうが
安全なのが個人的には悲しいですが・・・
どこかで.h付きで記述していそう・・・

カテゴリー: プログラム, 入門 | タグ: , , | コメント無し »

コメント