Тип переменной register
Какой тип у переменной объявленной с ключевым словом register?
Встретил такой код. Какой тут тип у переменной n?
int main() {
register n;
}
Ответы (1 шт):
Register - это класс памяти объектов в си, он означает, что число перемещается в регистр. Вроде как от этого с ним операции проходят быстрее.
Также , как верно отметил avp:
register всегда был хинтом (hint, совет). Компилятор не обязан помещать такую переменную в регистр, но вправе прислушаться к такому совету, по крайней мере при оптимизации такая переменная будет более приоритетна для размещения в регистре, чем другие. / И еще, по крайней мере в старом Си тип int существовал по умолчанию (как минимум как тип возвращаемого функцией значения), поэтому его можно было не указывать вместе с хинтом
А вообще по умолчанию здесь тип int, как если бы ты написал, например, signed var
Но думаю, что смысла использовать такое нет. Видел упоминание этого типа только в книге про си 91го года....