c语言中字符串能否转为代码执行?或者有啥替代办法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中字符串能否转为代码执行?或者有啥替代办法?相关的知识,希望对你有一定的参考价值。
假设循环变量是i,我想在一个循环中,调用变量datai(i为循环变量的值),通过宏定义还是什么方法可以实现吗?求大神解答~
因为我想和另外一段代码保持一致,所以不想用数组。
在循环中是不可以用宏定义的方法来实现的,因为宏是在编译前替换,不会根据代码逻辑来。
用数组肯定是最合理的,多个变量的方法,有一种不安全的方法来做,就是使用野指针。
前提:变量连续定义,这样他们在内存中的地址就是连续的。
之后用一个int指针:
int *pi = &data1;pi++ ;//就指向data2了
但这个方法,不是安全方法,如果是商业项目,不推荐使用。
宏定义的方法
#define data(i) data##i本回答被提问者采纳 参考技术B for(i=0;i<XX;i++)
char nameStr[20] = "data";
char *iStr = NULL;
(istr = malloc......)
sprintf(iStr, "%s", i);
strcat(nameStr,iStr);
参考技术C 不能转换为代码。
以上是关于c语言中字符串能否转为代码执行?或者有啥替代办法?的主要内容,如果未能解决你的问题,请参考以下文章