Random
Random

Reputation: 157

refer to a variable using multiple names in C

Is it possible to refer to a variable using multiple names in C ? I know this could be done via pointers but is it possible without using pointers. Just like we use 'typedef' for multiple naming of data type, similar for Variables

I have a constant named FILTER_PROC_LOAD_INTERNSITY, How to refer to it using simple name like 'var1'.

Upvotes: 0

Views: 1614

Answers (2)

Peter Miehle
Peter Miehle

Reputation: 6070

you may want to use macros?

#define var1 FILTER_PROC_LOAD_INTERNSITY

but the question is: why? one "thing" one responsibility. You do not want to baffle the reader of your code. The name of the Variable seems to be wrong in the first place, if you have the need to rename the name.

Edith:

what my problem with readability is expressed in this example

char *very_ugly_variable_name;
#define beautifulVariableName very_ugly_variable_name

void unmaintainable_old_function() {
   print(very_ugly_variable_name);
}

void myOtherNewFunction() {
   print(beautifulVariableName);
}

you do not grok in a moment, that very_ugly_variable_name and beautifulVariableName are the exact same (in namescope and in memory).

Upvotes: 3

Alexander Pavlov
Alexander Pavlov

Reputation: 32286

The C language does not seem to have references (to alias your variable) but you can use a pointer to that end: yourtype* var1 = &FILTER_PROC_LOAD_INTERNSITY and then use *var1 to get the value of your constant. But this doesn't look like a good idea - symbolic names in programs are much easier to read and understand.

Upvotes: 1

Related Questions