Указатели на структуру
-
maksimdag0
- Прорезались зубы
- Сообщения: 225
- Зарегистрирован: Чт апр 08, 2021 09:46:48
Указатели на структуру
Доброго времени суток! Ребят, никак не могу разобраться, знаю что здесь все просто, но до меня не доходит. В файле stm32f103xb.h имеются обозначение регистров STM32. К обозначены в #define как указатели на структуру (см. рисунок №1). Вопрос в следующем:
1) Для чего нужны скобки около TIM_TypeDef * (на рисунке №3 эти скобки показаны стрелкой)? Ведь указатели на структуру обьявляются без этих скобок (см. рисунок №2)
1) Для чего нужны скобки около TIM_TypeDef * (на рисунке №3 эти скобки показаны стрелкой)? Ведь указатели на структуру обьявляются без этих скобок (см. рисунок №2)
- Реклама
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Указатели на структуру
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4247423#p4247423"]Для чего нужны скобки[/uquote]
Приведение типа. Это же дефайн, а не объявление.
Приведение типа. Это же дефайн, а не объявление.
Re: Указатели на структуру
странно, что возник вопрос с приведением, а не с со скобками корневого уровня (или как их ещё назвать, общими? глобальными? просто первыми?)
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Указатели на структуру
[uquote="Martian",url="/forum/viewtopic.php?p=4247439#p4247439"]а не с со скобками корневого уровня[/uquote]
Эти скобки нужны, чтобы не нарваться на неприятности при использовании дефайна. Иначе при подстановке приведение типа будет отнесено ко всей конструкции указателя на структуру.
Эти скобки нужны, чтобы не нарваться на неприятности при использовании дефайна. Иначе при подстановке приведение типа будет отнесено ко всей конструкции указателя на структуру.
-
maksimdag0
- Прорезались зубы
- Сообщения: 225
- Зарегистрирован: Чт апр 08, 2021 09:46:48
Re: Указатели на структуру
[uquote="КРАМ",url="/forum/viewtopic.php?p=4247430#p4247430"][uquote="maksimdag0",url="/forum/viewtopic.php?p=4247423#p4247423"]Для чего нужны скобки[/uquote]
Приведение типа. Это же дефайн, а не объявление.[/uquote]
Теперь я совсем ничего не понимаю. Разве это не указатель на структуры? Почему это приведение типов?
Приведение типа. Это же дефайн, а не объявление.[/uquote]
Теперь я совсем ничего не понимаю. Разве это не указатель на структуры? Почему это приведение типов?
- Реклама
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Указатели на структуру
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4247512#p4247512"]Разве это не указатель на структуры?[/uquote]
Нет. Указатель - это тип переменной. А в данном случае определяется ("дефайнится") абсолютный адрес - то есть просто число-константа. Размерность константы нужно привести к типу указателя. Это в дефайне и сделано.
Далее подстановка дефайна в качестве имени указателя будет абсолютным адресом, а не переменной.
Нет. Указатель - это тип переменной. А в данном случае определяется ("дефайнится") абсолютный адрес - то есть просто число-константа. Размерность константы нужно привести к типу указателя. Это в дефайне и сделано.
Далее подстановка дефайна в качестве имени указателя будет абсолютным адресом, а не переменной.
-
maksimdag0
- Прорезались зубы
- Сообщения: 225
- Зарегистрирован: Чт апр 08, 2021 09:46:48
Re: Указатели на структуру
[uquote="КРАМ",url="/forum/viewtopic.php?p=4247566#p4247566"][uquote="maksimdag0",url="/forum/viewtopic.php?p=4247512#p4247512"]Разве это не указатель на структуры?[/uquote]
Нет. Указатель - это тип переменной. А в данном случае определяется ("дефайнится") абсолютный адрес - то есть просто число-константа. Размерность константы нужно привести к типу указателя. Это в дефайне и сделано.[/uquote]
Примерно понял. А еще понял что мне нужно еще лучше попрактиковаться в си.
Если это приведение типов, для чего там звездочка. Может тему подскажите где это почитать?
Нет. Указатель - это тип переменной. А в данном случае определяется ("дефайнится") абсолютный адрес - то есть просто число-константа. Размерность константы нужно привести к типу указателя. Это в дефайне и сделано.[/uquote]
Примерно понял. А еще понял что мне нужно еще лучше попрактиковаться в си.
Если это приведение типов, для чего там звездочка. Может тему подскажите где это почитать?
- КРАМ
- Друг Кота
- Сообщения: 25259
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Указатели на структуру
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4247572#p4247572"]Если это приведение типов, для чего там звездочка?[/uquote]
Звездочка там потому, что это тип указателя, хоть и константа. Разыменование константы имеющей тип указателя позволяет присвоить значение по абсолютному адресу равному этой константе.
Звездочка там потому, что это тип указателя, хоть и константа. Разыменование константы имеющей тип указателя позволяет присвоить значение по абсолютному адресу равному этой константе.
Re: Указатели на структуру
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4247572#p4247572"]для чего там звездочка. Может тему подскажите где это почитать?[/uquote]Почитайте учебник по си. Раздел про указатели.
-
maksimdag0
- Прорезались зубы
- Сообщения: 225
- Зарегистрирован: Чт апр 08, 2021 09:46:48
Re: Указатели на структуру
Спасибо


