Я немного новичок в C, поэтому я не знаю, как бы я подошел к решению этой проблемы.Читая дальше, вы заметите, что не критично, что я нахожу решение, но оно наверняка подойдет для этого приложения и для справок в будущем.:)
У меня есть параметр int hello, и я не хочу делать его синонимичную копию.
f(int hello, structType* otherParam){
// I would like to have a synonom for (!hello)
}
Моей первой мыслью было создание локальной константы, но я 'Я не уверен, будет ли дополнительное потребление памяти.Я строю с GCC, и я действительно не знаю, распознает ли он константу параметра (перед любыми изменениями) как синонимичную переменную.Я так не думаю, потому что параметр мог (хотя и не будет) изменяться позже в этой функции, что не повлияло бы на константу.
Затем я подумал о создании локального определения типа, но яне уверен точно, синтаксис для этого.Я попытался сделать следующее:
typedef (!hello) hi;
Однако я получаю следующую ошибку.
D:/src-dir/file.c: In function 'f':
D:/src-dir/file.c: 00: error: expected identifier or '(' before '!' token
Любая помощь приветствуется.