G-факт 17

Опубликовано: 17 Февраля, 2022

Класс хранения переменной определяет, имеет ли элемент глобальное или локальное время жизни. В C typedef рассматривается как класс хранения, как и другие классы хранения (auto, register, static и extern), тем не менее, целью typedef является присвоение альтернативных имен существующим типам.

For example, the following program compiles and runs fime

#include <stdio.h>
int main()
{
  typedef int points;
  points x = 5;
  printf("%d ", x);
  return 0;
}

Выход:

 5

But the following program fails with compiler error.

#include <stdio.h>
int main()
{
  typedef static int points;
  points x;
  return 0;
}

Выход:

 Ошибка компилятора: несколько классов хранения в спецификаторах объявления

См. Этот тест для практики по спецификаторам классов и типов хранения. Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.