реклама на сайте
подробности

 
 
> Структура в Си, Что это такое?
Anjey_N
сообщение Aug 9 2007, 07:30
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 12-01-07
Из: Энергодар Украина
Пользователь №: 24 374



Пытался сам понять из книжек что такое структура и зачем она применяется но ничего не понял! Может ли кто-нибудь объяснить зачем она нужна?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Aug 9 2007, 11:04
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Структура это такая абстракция, которая введена в ЯВУ для того, чтобы человеку было удобно работать с данными. Самому же процессору/микроконтроллеру структуры по барабану, он работает не с абстракциями, а с реальными адресами/данными.
Преобразовать абстрактные структуры к реальным данным это задача компилятора. Основная проблема при этом возникает при упаковке и выравнивании структур. А все из-за того, что у разных CPU/MCU разные разрядность шины и способ обращения к данным. Например, у большинства 16-ти разрядных CPU нельзя сделать обращение к 16-битному слову по нечетному адресу. Поэтому, если допустим в неупакованной структуре вы опишите две байтовые (8-ми битные) переменные и попытаетесь обратиться к ним как к одной 16-разрядной переменной, то на разных CPU/MCU можете получить различающиеся артефакты. Поэтому не забывайте о выравнивании структур.
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Aug 9 2007, 12:14
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Цитата(rezident @ Aug 9 2007, 14:04) *
Самому же процессору/микроконтроллеру структуры по барабану, он работает не с абстракциями, а с реальными адресами/данными.

Хочу уточнить. Как раз для АВР его система команд "помогает" компилятору С может сгенерировать очень качественный код при работе со структурами (см. AN035).
Так что чем использовать разрозненные объекты -- я бы склонялся к использованию структур
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 18:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016