我正在撰写一篇与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
准确的术语是什么,不会使他们对读者不明确?
答案 0 :(得分:1)
根据标准,Sec。 6.10.3,§9,宏的名称在用于替换时也称为宏名称。在标准的定义部分,更具体地说,在Sec。 3.3,声明你在问题中显示的类似函数的结构是“宏调用”。所以
printf("%f\n", AREA_CIRCLE(1024));
|<------A'----->|
|<---C'-->| |E'|
A'
:宏调用
C'
:宏名称
E'
:[宏]参数