2017-09-22 9 views
2

私はC言語に関連する学術論文を書いていますが、用語についてはかなり混乱しています。私が使った言葉が標準に準拠していないことを恐れています。例えば C標準で指定されたマクロの各部分は何ですか?

#define AREA_CIRCLE(radius) (M_PI * radius * radius) 
|<-----------------------A------------------------>| 
|<-B->| |<---C--->| |<D >| |<----------E--------->| 

printf("%f\n", AREA_CIRCLE(1024)); 
       |<------A'----->| 
       |<---C'-->| |E'| 

私はそうはわからないが、私は推測する読者のためにそれらを曖昧にしないだろう正確な用語を何

A: macro definition 
B: macro directive (preprocessor directive) 
C: macro name 
D: macro parameter 
E: macro substitution rule 
A': macro ??? 
C': macro ??? 
E': macro argument 

こと?

答えて

1

標準に従って、 6.10.3、§9では、マクロの名前は、置換に使用されるときにマクロ名とも呼ばれます。標準の定義部分、より具体的にはSec。 3.3では、あなたの質問に表示される関数のような構造が "マクロ呼び出し"であると述べられています。だから、

printf("%f\n", AREA_CIRCLE(1024)); 
       |<------A'----->| 
       |<---C'-->| |E'| 

A':マクロ呼び出し
C':マクロ名
E':[マクロ]引数

関連する問題