Доброго времени суток! Ребят, никак не могу разобраться, знаю что здесь все просто, но до меня не доходит. В файле stm32f103xb.h имеются обозначение регистров STM32. К обозначены в #define как указатели на структуру (см. рисунок №1). Вопрос в следующем:
1) Для чего нужны скобки около TIM_TypeDef * (на рисунке №3 эти скобки показаны стрелкой)? Ведь указатели на структуру обьявляются без этих скобок (см. рисунок №2)
Эти скобки нужны, чтобы не нарваться на неприятности при использовании дефайна. Иначе при подстановке приведение типа будет отнесено ко всей конструкции указателя на структуру.
Нет. Указатель - это тип переменной. А в данном случае определяется ("дефайнится") абсолютный адрес - то есть просто число-константа. Размерность константы нужно привести к типу указателя. Это в дефайне и сделано. Далее подстановка дефайна в качестве имени указателя будет абсолютным адресом, а не переменной.
Нет. Указатель - это тип переменной. А в данном случае определяется ("дефайнится") абсолютный адрес - то есть просто число-константа. Размерность константы нужно привести к типу указателя. Это в дефайне и сделано.
Примерно понял. А еще понял что мне нужно еще лучше попрактиковаться в си. Если это приведение типов, для чего там звездочка. Может тему подскажите где это почитать?
Если это приведение типов, для чего там звездочка?
Звездочка там потому, что это тип указателя, хоть и константа. Разыменование константы имеющей тип указателя позволяет присвоить значение по абсолютному адресу равному этой константе.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения