マクロとインライン関数
マクロ定義と、関数に対する利点について学びます
「マクロとインライン関数」はCoddyKit上の無料C Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C Academyコースには全3レッスンが含まれています。
マクロ入門
マクロとインライン関数
マクロとインライン関数は、関数呼び出しのオーバーヘッドを減らすことで、コードの最適化に役立ちます。
このレッスンでは、次のことを学びます。
- マクロを定義して使用する方法。
- マクロと比較したインライン関数の利点。
- マクロとインライン関数によってパフォーマンスが向上する仕組み。

マクロとは
マクロとは
マクロは、コンパイル前にコードを置き換えるプリプロセッサディレクティブです。
例:
#define SQUARE(x) (x * x)
これにより、コンパイル時にSQUARE(5)が(5 * 5)に置き換えられます。
例: マクロの使用
例: マクロの使用
このプログラムでは、計算にマクロを使用する方法を示します。
#include <stdio.h>
#define SQUARE(x) (x * x)
int main() {
int num = 4;
printf("Square of %d is %d\n", num, SQUARE(num));
return 0;
}マクロの制限
マクロの制限
マクロでは型チェックが行われないため、予期しない結果になる可能性があります。
問題の例:
#define MULTIPLY(x, y) x * y
MULTIPLY(2 + 3, 4)を呼び出すと2 + 3 * 4に展開され、誤った結果になります。
インライン関数の導入
インライン関数の導入
インライン関数は、型安全性を維持しながらマクロの代替として使用できます。
構文:
inline int square(int x) { return x * x; }
インライン関数は関数呼び出しのオーバーヘッドを減らしつつ、適切な型チェックを保証します。
例: インライン関数の使用
例: インライン関数の使用
このプログラムでは、マクロの代わりにインライン関数を使用する方法を示します。
#include <stdio.h>
inline int square(int x) { return x * x; }
int main() {
int num = 4;
printf("Square of %d is %d\n", num, square(num));
return 0;
}インライン関数の利点
インライン関数の利点
インライン関数には、マクロと比べて次のような利点があります。
- 型安全性。
- デバッグが容易(スタックトレースに表示されます)。
- 予期しない展開エラーが発生しません。
マクロとインライン関数の使い分け
マクロとインライン関数の使い分け
次のような場合はマクロを使用します。
- 単純な定数を定義する場合。
- 小規模なテキスト置換を行う場合。
次のような場合はインライン関数を使用します。
- 複雑な処理を行う場合。
- 型安全性を確保する場合。
まとめ
まとめ
このレッスンでは、次のことを学びました。
- マクロを定義して使用する方法。
- マクロの制限。
- インライン関数がより安全な代替手段になる仕組み。
次は、条件付きコンパイルについて学びます。

よくある質問
「マクロとインライン関数」レッスンは無料ですか?
はい。「マクロとインライン関数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C Academyコースには全3レッスンが含まれています。
「マクロとインライン関数」で何を学びますか?
マクロ定義と、関数に対する利点について学びます ブラウザで直接実行するハンズオンコードでC Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「マクロとインライン関数」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC Academyレッスンでコードを書いて実行できますか?
はい。すべてのC Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Cプリプロセッサの仕組み
- マクロとインライン関数
- 条件付きコンパイル