C言語でdefineマクロを再定義する方法について解説

C言語において、defineマクロはプログラム内で定数を定義するためによく使われます。

しかし、再定義することで予期せぬエラーが発生する可能性があります。

本記事では、defineマクロの再定義方法について解説します。初心者でも理解しやすいよう、サンプルコードを交えながら詳しく説明していきます。

目次

再定義の方法

C言語において、defineマクロを再定義する方法はいくつかあります。ここでは、その中でも代表的な2つの方法を紹介します。

#undefを使った再定義

#defineで定義されたマクロを再定義する場合、まずは#undefで元のマクロを削除する必要があります。

#include <stdio.h>

#define PI 3.14

int main() {
    printf("%f\n", PI);

    #undef PI
    #define PI 3.14159265358979323846
    
    printf("%f\n", PI);
    
    return 0;
}
3.140000
3.141593

上記の例では、最初にPIが3.14として定義されています。その後、#undefでPIを削除し、#defineで新しい値として3.14159265358979323846を設定しています。このようにして再度PIを使用すると、新しい値が出力されます。

元のマクロを削除せずに再定義することも可能ですが、開発環境によってはコンパイルエラーになったり警告が表示されます。

目次