关于网友提出的“ c语言 变量名称抓取函数”问题疑问,本网通过在网上对“ c语言 变量名称抓取函数”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: c语言 变量名称抓取函数
描述: 请问c语言有没有能在结构体之中抓取成员变量名称的函数。比方说,struct info { float I; float U ; char *UID ;
} info1; 然后以结构体作为函数参数,要返回结构体成员变量名称的字符串。
解决方案1: 楼主想要的功能的确是反射功能,java,C#具备这样的功能,原因在于它们的程序是中间的格式,然后通过虚拟机执行,拿java来说,中间文件就是class文件,反射机制就是通过分析class文件得到一个类得成员变量,成员函数的,但是C语言不具备这样的功能,语言特性没有这样的东西
解决方案2: 第一次看到这现象~~~
解决方案3:
#include
void main()
{
float max (float x, float y);
float a,b;
float c;
scanf("%f,%f", &a, &b);
c = max(a,b);
printf("Max is %f \n", c);
}
float max (float x, float y)
{
float z;
z = x>y?x:y;
return z;
}
这是 有形函数跟 有实函数 看看就好 别太在意
解决方案4:
老实说不是很了解是什麽 (我很菜)
我们宣告是
int a;//成员
int b[2][3];//数组
int c()//函数 後面要写函数功能
int c(); //这是功能
{
return b;
}
字符串 我们用 ""框起来
int a;
a = "你好~"
printf("%d",a); //打印出来
ps:希望能帮上你
解决方案5: 用模板,容易。
解决方案6: 这个真没有
解决方案7: 在.NET中这叫反射
解决方案8:
这个提要求的“别人”应该去自己发明一门语言
简单地说,作为静态编译语言,C/C++在编译完成后的可执行程序里不存在任何“变量名”,除非你在定义的时候就给每个变量附加上一个字符串,其内保存你想要保存的变量名
结构体编译完成后,内部的每个变量就只剩下“变量类型”和“地址偏移量”保存在可执行程序内,供人观赏的“变量名”早就完成了它的历史功能,就这么简单
解决方案9: 你都看到了,直接写出来不就得了?
如果是别人给你的结构,让它把名字也给你。
以上介绍了“ c语言 变量名称抓取函数”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2661239.html