Цикл определяет - PullRequest
       2

Цикл определяет

0 голосов
/ 30 марта 2012

Скажем, у меня есть список определений MC_SERVER1, MC_SERVER2, MC_SERVER3, как бы я проходил цикл, чтобы получить содержимое каждого.Также я не знаю, сколько у меня будет.У меня может быть 3 или 10. Это для программирования на C

Скажите, что у меня есть DEFINE MC_SERVER1 = "mc1.sdsds.com" DEFINE MC_SERVER2 = "mc2.sdsds.com"

как мнецикл через них всех.

Ответы [ 3 ]

3 голосов
/ 30 марта 2012

Определения не работают таким образом.Они оцениваются во время компиляции, а не во время выполнения, поэтому их экземпляры заменяются их значениями.

0 голосов
/ 30 марта 2012

Вы можете сделать это, если они находятся в массиве, но не только со списком определений, как у вас.

Например:

const char *servers[] = {
  "server.one",
  "server.two",
};

Если вы заинтересованы вэтот подход также см. как получить длину массива во время компиляции

0 голосов
/ 30 марта 2012

Существует возможность получения аналогичных эффектов с помощью макросов с помощью трюков с конкатенацией (##) и строковым форматированием (#), но для вас, вероятно, было бы лучше не использовать макросы.

См. Имена переменных в C для примеров.

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