Почему невозможно иметь регистр И статический модификатор для переменной в C?

Это может показаться обычным вариантом использования. Может быть, мы хотим объявить переменную в функции и сделать ее статической, чтобы переменная сохраняла свое значение при нескольких вызовах функций.

Мы также хотим сказать компилятору попытаться сохранить переменную в регистре процессора для более быстрого доступа.

Однако это невозможно в C.

int foo()
{
   static register int a;
   a++:

}

Этот код дает следующую ошибку.

 multiple storage classes in declaration specifiers

Почему при объявлении переменной нельзя указывать несколько классов хранения?

0 ответов

Другие вопросы по тегам