C语言可否像js访问对象属性一样拼接字符串访问结构体的内容

新手上路,请多包涵

问题: 在下初学C语言, 想了解下C语言可否像js访问对象属性一样拼接字符串访问结构体的内容

如下:

// JavaScript code
let obj = {
    a1: 123,
    a2: 456
}
for (let i=1; i<=2; i++) {
    console.log(obj['a' + i]);
}
// 输出如下:
// 123
// 456

C语言可否像上面访问 obj 对象的 a1 属性一样通过 'a' + i 的形式访问结构体, 或者说实现类似的功能

目前我了解到结构体在C语言中使用 . 语法访问内容, 再往下查的话一直没有找到有关文档, 还望了解的小伙伴解惑, 在下有礼了

阅读 1.7k
1 个回答

C 语言不清楚,C++ 里要想这么(动态属性取值/赋值)做得靠反射,语法层面上是不支持的;想来 C 语言也应该是没这个能力的;而反射的话建议初学者先别去了解,容易懵,最后熊瞎子掰苞米啥啥都学不会。

P.S. 你说的那个 “.”,它叫“点操作符”(Dot Operator),想了解用法你搜这个关键字就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题