ссылаться на переменную, используя несколько имен в C - PullRequest
0 голосов
/ 13 февраля 2012

Можно ли ссылаться на переменную, используя несколько имен в C?Я знаю, что это можно сделать с помощью указателей, но возможно ли это без использования указателей.Так же, как мы используем 'typedef' для множественного именования типа данных, аналогично для переменных

У меня есть константа с именем FILTER_PROC_LOAD_INTERNSITY, как ссылаться на нее, используя простое имя, например, "var1".

Ответы [ 2 ]

3 голосов
/ 13 февраля 2012

вы можете использовать макросы?

#define var1 FILTER_PROC_LOAD_INTERNSITY

но вопрос такой: почему? одна «вещь» одна ответственность. Вы не хотите сбивать с толку читателя вашего кода. Во-первых, имя переменной кажется неправильным, если вам нужно переименовать имя.

Edith

в чем моя проблема с читабельностью выражена в этом примере

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 голос
/ 13 февраля 2012

Кажется, что в языке C нет ссылок (на псевдоним вашей переменной), но вы можете использовать указатель на этот конец: yourtype* var1 = &FILTER_PROC_LOAD_INTERNSITY, а затем использовать *var1, чтобы получить значение вашей константы. , Но это не выглядит хорошей идеей - символические имена в программах намного легче читать и понимать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...