C标准中命名的宏的每个部分是什么?
What are each part of macros named in the C standard?
我正在写一篇关于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
不让读者产生歧义的准确术语是什么?
根据标准,Sec。 6.10.3, §9, 宏名用于替换时也称为宏名。在标准的定义部分,更具体地说是在 Sec. 3.3,说明你在问题中展示的类函数结构是一个"macro invocation"。所以
printf("%f\n", AREA_CIRCLE(1024));
|<------A'----->|
|<---C'-->| |E'|
A'
: 宏调用
C'
: 宏名称
E'
: [宏] 参数
我正在写一篇关于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
不让读者产生歧义的准确术语是什么?
根据标准,Sec。 6.10.3, §9, 宏名用于替换时也称为宏名。在标准的定义部分,更具体地说是在 Sec. 3.3,说明你在问题中展示的类函数结构是一个"macro invocation"。所以
printf("%f\n", AREA_CIRCLE(1024));
|<------A'----->|
|<---C'-->| |E'|
A'
: 宏调用
C'
: 宏名称
E'
: [宏] 参数