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

 
 
> Объясните кусок кода
ZEbr
сообщение Sep 3 2013, 17:33
Сообщение #1


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

Группа: Участник
Сообщений: 145
Регистрация: 2-12-10
Из: Воронеж
Пользователь №: 61 356



Что вот эта структура обозначает, совсем забыл)))
unsigned short *x;
x=(unsigned short*) &Y;
Y структура в которой есть int, short, float.
и потом я записывается в массив методом x++.
Заранее спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Lagman
сообщение Sep 4 2013, 12:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245



Цитата(ZEbr @ Sep 3 2013, 21:33) *
Y структура в которой есть int, short, float.
и потом я записывается в массив методом x++.

После x=(unsigned short*) &Y уже не важно какие типы были в структуре Y, если short это 2байта то по x++ будет присваиваться значения начиная с адреса Y по +2 байта и какая переменная в структуре измениться зависит от того как с ней работает компилятор, "упакована" ли или "отсортирована" ли структура в памяти.
Go to the top of the page
 
+Quote Post
lbm
сообщение Sep 20 2013, 08:10
Сообщение #3





Группа: Участник
Сообщений: 12
Регистрация: 13-01-11
Пользователь №: 62 213



Цитата(Lagman @ Sep 4 2013, 16:09) *
После x=(unsigned short*) &Y уже не важно какие типы были в структуре Y, если short это 2байта то по x++ будет присваиваться значения начиная с адреса Y по +2 байта и


одно уточнение:
если написать x++ то изменится адрес в хранящийся в указателе x на размер типа short (т.е. на 2 байта)
а чтобы увеличить значение данных по адресу хранящемуся в указателе
необходимо написать (*x)++
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 16:29
Рейтинг@Mail.ru


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