Зарезервированный идентификатор __func__

Содержание

В С99 определен идентификатор __func__, который указывает (в виде строкового литерала) имя функции, в которой встречается __func__. Например,

void StrUpper(char *str)
{
  static int i = 0;
  
  i++;
  printf("Функция %s была вызвана %d раз(а).\n", __func__, i);
  
  while(*str) {
    *str = toupper(*str);
    str++;
  }
}

При первом вызове функции StrUpper() появится следующий вывод:

Функция StrUpper была вызвана 1 раз(а).