是否可以在C中使用多个名称引用变量?我知道这可以通过指针完成,但是可以不使用指针。就像我们使用'typedef'进行多种数据类型命名一样,类似于Variables
我有一个名为FILTER_PROC_LOAD_INTERNSITY的常量,如何使用像'var1'这样的简单名称来引用它。
答案 0 :(得分:3)
您可能想要使用宏吗?
#define var1 FILTER_PROC_LOAD_INTERNSITY
但问题是:为什么? 一个“事物”一个责任。你不想让你的代码的读者感到困惑。如果您需要重命名该名称,那么变量的名称首先似乎是错误的。
伊迪丝:
本例中表达了我的可读性问题
char *very_ugly_variable_name;
#define beautifulVariableName very_ugly_variable_name
void unmaintainable_old_function() {
print(very_ugly_variable_name);
}
void myOtherNewFunction() {
print(beautifulVariableName);
}
你暂时没有想到,very_ugly_variable_name和beautifulVariableName完全相同(在名称范围和内存中)。
答案 1 :(得分:1)
C语言似乎没有引用( alias 你的变量),但你可以使用指向该结尾的指针:yourtype* var1 = &FILTER_PROC_LOAD_INTERNSITY
然后使用*var1
来获取你的常数的价值。但这看起来并不是一个好主意 - 程序中的符号名称更容易阅读和理解。