免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1547 | 回复: 9
打印 上一主题 下一主题

求助:如何让一个变量通过第二个变量的值访问第三个变量的值? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-17 13:20 |只看该作者 |倒序浏览
/*变量定义*/
int aaa=10;
int bbb=30;
int ccc;
char str[]="aaa";/*保存变量aaa或bbb的名字*/
问题描述:
要给ccc赋值,但不知道是由变量aaa,还是bbb来赋,只知道用来给ccc赋值的变量的名字保存在str中。请问有什么办法让ccc获得aaa或bbb的值?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2004-05-17 13:40 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

  1. if ( strcmp( str, "aaa" ) == 0 )
  2.     ccc = aaa;
  3. else if ( strcmp( str, "bbb" ) == 0 )
  4.     ccc = bbb;
  5. else
  6.     ccc = -1;
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-05-17 13:51 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

To bluecaptain,

还是将 str 定义成一个整型指针,然后存储指针值来得方便,访问效率也高。

  1. int* str = & // 或者 &bbb
  2. ccc = *str;
复制代码

论坛徽章:
0
4 [报告]
发表于 2004-05-17 13:52 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

[quote]原帖由 "flw"][/quote 发表:

这只是在知道有aaa或bbb这两个变量的情况。而我此时只知道有变量(aaa或bbb)存在,知道它的类型,但不知道它的确切名字和地址,只知道变量的名字保存在str中,该怎么办?
谢谢!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2004-05-17 14:04 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

原帖由 "bluecaptain" 发表:
这只是在知道有aaa或bbb这两个变量的情况。而我此时只知道有变量(aaa或bbb)存在,知道它的类型,但不知道它的确切名字和地址,只知道变量的名字保存在str中,该怎么办?
谢谢!

这个是不行的。

你说的这种特性,只有在解释性的语言中才会存在。
比如 FOX、Perl、shell 等等。

论坛徽章:
0
6 [报告]
发表于 2004-05-17 14:15 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

我觉得能在解释性的语言中存在就应该能在c中实现,只是不知道实现它的方法

论坛徽章:
0
7 [报告]
发表于 2004-05-17 14:48 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

用C写一个解释器,然后在这个解释器中就可以实现你的想法了。但是在C的程序中,还是放弃你的这种尝试吧。

论坛徽章:
0
8 [报告]
发表于 2004-05-17 14:51 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

  1. struct MyInt{
  2.    void *Next;
  3.    char *Name;
  4.    int Value;
  5. };

  6. static struct MyInt *ValueList = NULL;
  7. ......



  8. int GetValue( const char *Name )
  9. {
  10.    struct MyInt *Ptr;

  11.    for ( Ptr = ValueList; Ptr != NULL; Ptr = Ptr->;Next ) {
  12.       if ( stremp( Ptr->;Name, Name ) == 0 )
  13.          return Ptr->;Value;
  14.    }
  15.    return 0;
  16. }
复制代码


按名引用是解释语言常用的方法,C语言的常用手段是按地址引用,即所谓的指针。
并不是说楼主的要求C实现不了,而是在C里有比解释语言更好的技术手段。

论坛徽章:
0
9 [报告]
发表于 2004-05-17 15:37 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

以上各位,谢谢了

论坛徽章:
0
10 [报告]
发表于 2004-05-17 16:13 |只看该作者

求助:如何让一个变量通过第二个变量的值访问第三个变量的值?

听上去好像和类的反弹有关系,通过通用的方法检索类的类型和类的成员函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP