首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#定义变量作用域

#定义变量作用域
EN

Stack Overflow用户
提问于 2013-02-02 09:38:35
回答 1查看 98关注 0票数 1

我想知道是否有一种方法可以定义一个全局变量,该变量具有我的main函数中特定实例的名称?我必须按位值访问数组,因此需要键入以下内容:

代码语言:javascript
复制
state.reg[ 4 * mc_binary[ 18 ] + 2 * mc_binary[ 17 ] + 1 * mc_binary[ 16 ] ]

我能不能:

代码语言:javascript
复制
#define state.reg[ 4 * mc_binary[ 18 ] + 2 * mc_binary[ 17 ] + 1 * mc_binary[ 16 ] ] registerA

其中state是我在main函数中使用的stateType结构的实例?

EN

回答 1

Stack Overflow用户

发布于 2013-02-02 10:02:05

这是我推荐的:

代码语言:javascript
复制
#define BIT_INDEX3(bit2, bit1, bit0) \
    (4 * (bit2) + 2 * (bit1) + (bit0))

// use in code:
    state.reg[ BIT_INDEX3(mc_binary[18], mc_binary[17], mc_binary[16]) ]

你不想变得太棘手,但是如果你经常从同一个数组中提取数据(就像你在这里做的那样),你可以为它做另一个定义:

代码语言:javascript
复制
#define BIT_INDEX_ARRAY3(a, i2, i1, i0) \
    BIT_INDEX3((a)[i2], (a)[i1], (a)[i0])


// use in code:
state.reg[ BIT_INDEX_ARRAY3(mc_binary, 18, 17, 16) ]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14657734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档