#define
'#defineは文字列を置換する
defineとはプリプロセッサへの指示内容のひとつ
ブリプロセッサとは、コンパイル前に処理を行うプログラムのこと
コンパイル時の前処理として、マクロ名で指定した文字列を定数や式で置き換える。
この#defineにより、置換することをマクロ置換という。
マクロ名は、全て大文字で記述
記述方法
code:c
#define マクロ名 定数や式
意味:定数や式を マクロ名で使用可能になる。
例:#defineで数値の置き換え
code:c
#define A 10 // 10の数値をAと置く
int main() {
int a = A; //aにAを入れる。
printf("a:%d\n",a); //aの値を表示
}
実行結果:https://paiza.io/projects/RxdNFq92yMVBeHowPP0p6A
例:#defineで数式の置き換え
code:c
#include <stdio.h>
#define Test(port,pin,data) port*pin*data //式をdefineで置き換える。
int main(void){
// Your code here!
int c= Test(1,2,3);
printf("c:%d",c);
}
実行結果:https://paiza.io/projects/K0UID90xfYOmNVqBmSrf2A
'#defineを2行に書く場合
\を使用する。
code:c
#include <stdio.h>
#define Test(port,pin,data) port*pin\
*data
int main(void){
// Your code here!
int c= Test(2,5,6);
printf("c:%d",c);
}
実行結果:https://paiza.io/projects/K0UID90xfYOmNVqBmSrf2A
使い方の例:
code:c
#define hyo(a) A(a,10,0)
void A(a,b,c)
{
//int b =10;
//int c = 2;
printf("a:%d\n",a);
printf("b:%d\n",b);
printf("c:%d\n",c);
}
#include <stdio.h>
int main(void){
// Your code here!
int b=2;
hyo(b);
//A(b,0,0);
}
実行結果:https://paiza.io/projects/AgEoxmoe2XijpdedIh9BjA
参考:https://www.sejuku.net/blog/25927