указатели — volatile unsigned * в переполнении стека

Возможный дубликат:
Ключевое слово без знака в C ++

В настоящее время я узнаю о том, как напрямую получить доступ к устройствам с отображенной памятью (в частности, Raspberry Pi GPIO) и в некоторых образец кода Я вижу следующее:

// I/O access
volatile unsigned *gpio;

Что меня смущает, так это то, что тип не определен. Это допустимый C ++ и если да, то что объявляет приведенный выше код?

Спасибо!

PS: я знаю о Raspberry Pi StackExchange, но этот вопрос просто связан с синтаксисом C ++.

3

Решение

unsigned один такой же, как unsigned int,

Так же, как это:

volatile unsigned int *gpio;

Просто короче.

4

Другие решения

unsigned квалификатор без базового типа это просто сокращение для unsigned int,

volatile указывает компилятору на то, что это значение может измениться так, как этого не ожидает программа. Другими словами, компилятор не должен пытаться выполнять какое-либо кэширование или оптимизацию значения, поскольку он не знает, как оно изменится.

2

По вопросам рекламы [email protected]