プリプロセッサの1つ マクロ をご紹介いたします
ソーラー 「さあ、プリプロセッサの説明をしてみようじゃないか」
アレサ「はいっ
プリプロセッサとは
#include <stdio.h>のような
#をもちいて他の命令文よりも
先によみこまれる処理のことをあらわしています。
Pre(前の)
Process (処理)
というわけです
例えば
#include <stdio.h>をプログラムの先頭に記述することにより
ヘッダファイル<stdio.h>がよみこまれ
printf関数やscanf関数
fprintf関数やfscanf関数
fwrite関数やfread関数
など
が使用できるようになるのでした。」
ソーラー「他にもプリプロセッサとは
プログラムを読み込んで
作動することができる機械という意味もあります。」
アレサ「
#をもちいて他の命令文よりも 先によみこまれる処理
=プリプロセッサ
には様々な種類がありますの
C言語内で
#をもちいて他の命令文よりも 先によみこまれる処理
=プリプロセッサ
には、代表的なものとしては
#include <stdio.h>であらわされるように
#include を用いてヘッダファイルを読み込み
ヘッダファイルの中に格納されているプログラムを使用可能にする
というものがあります。
さらに
プリプロセッサには
マクロ
条件付きコンパイル
などがありますが
まず、
マクロからみていきましょうね、
ソーラーさん」
ソーラー「マックスの大好きなマグロのことなんだね。」
アレサ「お魚のマグロのことではありませんの」
ソーラー「よしきた 頼むよ~アレサ」
アレサ 「マクロとは
ringo と記述したらappleを記述したとみなすように
○○と記述したら☆☆を記述したとみなすような
処理をあらわしています。
具体例を示しながら見ていくと
#define ringo appleとマクロの定義を記述することにより
プログラム内の
ringoはappleとみなされます。
#define ringo appleをもちいたプログラムを構成すると次のようになります。
#include <stdio.h>
#define ringo apple
/*ここで
ringoと記述されたらappleとみなされるよう
マクロの定義がおこなわれています*/
int main(void){
int ringo=100;
printf("%d\n",apple);
return 0;
}
プログラムの実行結果
100
アレサ「このプログラムでは
ringoと記述すれば appleを記述したとみなされるので
int ringo=100;
は
int apple=100;
と等しくなり
コンパイル結果は
100となります。
ソーラー
「ringoと記述すればappleと記述したことみなされるので
#include <stdio.h>
#define ringo apple
int main(void){
int ringo=100;
printf("%d\n",ringo);
return 0;
}
と記述しても
プログラムの実行結果は
100
になるんだよね。」
アレサ「はい ソーラーさんのこのプログラムをみると
int ringo=100;
と ringoの変数宣言
がおこなわれて
変数ringoが生成され、初期化がおこなわれたように
🌊🌊🌊
solarplexuss
(いまさらですが 初期化とは 数値や文字データの入れ物,
この場合、変数ringoに 値を代入することでした)
🌊🌊🌊
#define ringo appleにより
ringoと記述すればappleと記述したとみなされるので
実際には
ringoという変数は存在せず
コンピュータにとっては
appleという変数だけが存在することになります。」
ソーラー「まくろって 簡単じゃないか😊」
アレサ「はいっ とっても簡単ですの」
(ちょっと解説
#include <stdio.h>
#define ringo apple
int main(void){
int ringo=100;
printf("%d\n",ringo);
return 0;
}
のソースコードの実行においては
#define ringo apple
という
プリプロセッサ(前処理)
が実行されると
ソースコードのこの部分
👇
int main(void){
int ringo=100;
printf("%d\n",ringo);
return 0;
}
は
int main(void){
int apple=100;
printf("%d\n",apple);
return 0;
}
に変換(前処理)されてから
コンパイルがおこなわれるというわけです
solarplexussより
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます