引用在C中使用多个名称的变量

时间:2012-02-13 07:52:50

标签: c variables

是否可以在C中使用多个名称引用变量?我知道这可以通过指针完成,但是可以不使用指针。就像我们使用'typedef'进行多种数据类型命名一样,类似于Variables

我有一个名为FILTER_PROC_LOAD_INTERNSITY的常量,如何使用像'var1'这样的简单名称来引用它。

2 个答案:

答案 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来获取你的常数的价值。但这看起来并不是一个好主意 - 程序中的符号名称更容易阅读和理解。