永发信息网

高端技巧:怎样使用#define定义变量

答案:2  悬赏:70  手机版
解决时间 2021-03-24 09:41
  • 提问者网友:戎马万世
  • 2021-03-23 09:20
高端技巧:怎样使用#define定义变量
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-03-23 10:46
这种技巧似乎并无大用。它的原理是利用 #define 中的 ## 连接两个宏,例如一个给进,另一个利用行号。例子:
注意书写时 DD(x) 的行号,即在第几行,在第几就代表 x几,不能错!
下面在第九行的 DD(x) 代表 x9, 在11行的 DD(x) 代表 x11 !
(DD(x) 是变量。 如果是 DD(abc), 则是 abc9, abc11啦。)
#include
#define AA(X,Z) X##Z
#define BB(X,Z) AA(X,Z)
#define DD(A) BB(A,__LINE__)
int main(){
int x9,x11;
//next line 9
DD(x)=2;
//next line 11
DD(x)=3;
printf("%d %d", x9,x11);
}
输出 2 3
全部回答
  • 1楼网友:鱼忧
  • 2021-03-23 11:18
在宏定义中,标准C/C++中给出了两个特殊的操作符:#和##。#是用于给红参数添加双引号;##用于链接两个宏参数,既然可以连接两个宏参数,那我们就可以链接一个首字母和行号作为一个整体了!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯