【C言語】#defineでマクロ関数を作成する方法

この記事では、C言語の#defineを使ったマクロ関数の作成方法について解説します。

目次から探す

#defineを使ったマクロ関数の作成方法

C言語では、#defineディレクティブを使用してマクロ関数を定義することができます。

マクロ関数は、コードの繰り返しを避けるために便利な機能です。

この記事では、#defineを使ったマクロ関数の作成方法について解説します。

基本的な構文

マクロ関数を定義するためには、以下のような基本的な構文を使用します。

#define マクロ名 式

マクロ名は、後で呼び出す際に使用する識別子です。

式は、マクロ関数が置換される内容です。

マクロ関数は、コンパイル時に式がその場所に展開されるため、実行時に関数呼び出しのオーバーヘッドが発生しません。

パラメータを持つマクロ関数の作成方法

マクロ関数には、パラメータを渡すこともできます。

パラメータを持つマクロ関数を作成するには、以下のような構文を使用します。

#define マクロ名(パラメータ1, パラメータ2, ...) 式

パラメータは、マクロ名の後ろに括弧で囲まれた形で指定します。

パラメータは、マクロ関数が呼び出された際に渡される値として使用されます。

式内では、パラメータはそのまま展開されます。

複数の文を含むマクロ関数の作成方法

マクロ関数は、複数の文を含むこともできます。

複数の文を含むマクロ関数を作成するには、以下のような構文を使用します。

#define マクロ名(パラメータ1, パラメータ2, ...) \
    do { \
        文1; \
        文2; \
        ...
    } while(0)

マクロ関数内の複数の文は、do { ... } while(0)で囲まれます。

これにより、マクロ関数が1つの文として扱われるため、セミコロンの位置に注意する必要があります。

以上が、#defineを使ったマクロ関数の作成方法の基本的な構文やパラメータを持つマクロ関数、複数の文を含むマクロ関数の作成方法についての解説です。

マクロ関数は、コードの繰り返しを避けるために便利な機能ですので、ぜひ活用してみてください。

目次から探す