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

 
 
> Указатель на структуру, правильно-ли?
otrog
сообщение Jul 7 2006, 11:52
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Здравствуйте.
Подскажите пожалуйста допустимо-ли так делать на C(CodeVision)?
Объявлена структура:
Код
struct TParameters
{
  unsigned int ADC_Value;
  unsigned int temperature[2];
  unsigned long suit;

  unsigned int CRC16;
};                  

struct TParameters Parameters;

В main-е есть вот что:
Код
// передача данных в комп
ptr = &Parameters;
Parameters.CRC16 = CRC16(ptr, sizeof(Parameters) - 2);
for (i=0;i<sizeof(Parameters);i++) { USART_Transmit(*ptr++); } // передать результаты измерений в УАРТ

Интересует применимость работы со структурами через указатели.

И еще CodeVision выдает warning"(358): suspicious pointer conversion" на строку "ptr = &Parameters;".
Что это может означать?
Спасибо.


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Jul 7 2006, 15:14
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Ничё не знаю. Я прямо так и пишу в ИАРе под АРМ.

А вот как это описано в файле stddef.h
Код
#ifndef offsetof
  #define offsetof(T, member)     (__INTADDR__((&((T *)0)->member)))
#endif /* offsetof */

Тока не пойму зачем там лишняя пара скобок? Вторая, если считать снаружи.

Сообщение отредактировал GetSmart - Jul 7 2006, 15:26


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- otrog   Указатель на структуру   Jul 7 2006, 11:52
- - _Bill   Цитата(otrog @ Jul 7 2006, 14:52) Здравст...   Jul 7 2006, 11:59
|- - otrog   Цитата(_Bill @ Jul 7 2006, 15:59) Нет, не...   Jul 7 2006, 12:04
- - beer_warrior   ЦитатаИ всеже при обращении к структуре через указ...   Jul 7 2006, 12:42
|- - IgorKossak   Цитата(beer_warrior @ Jul 7 2006, 15:42) ...   Jul 7 2006, 12:51
|- - unichorn   Цитата(beer_warrior @ Jul 7 2006, 16:42) ...   Jul 7 2006, 12:54
- - GetSmart   Я не очень понял, что надо beer_warrior, но может ...   Jul 7 2006, 13:08
- - beer_warrior   ЦитатаТолько не с AVR. Это семейство 8-битное и вы...   Jul 7 2006, 15:11
- - beer_warrior   Именно то спасибо. А скобки... Это же весьма навор...   Jul 7 2006, 15:34
- - GetSmart   А вот и нет. Не внешние скобки. А сразу за внешним...   Jul 7 2006, 15:40
- - defunct   ЦитатаТока не пойму зачем там лишняя пара скобок? ...   Jul 9 2006, 22:24
- - otrog   Спасибо всем ответившим. Но сомнения остались: Цит...   Jul 11 2006, 06:31
|- - Сергей Борщ   Цитата(otrog @ Jul 11 2006, 09:31) Кстати...   Jul 11 2006, 08:57
- - unichorn   Неиспользовать для этих целей тип int и unsigned i...   Jul 11 2006, 07:04
- - vet   Прочитать хелп по #pragma pack и использовать любы...   Jul 11 2006, 07:07
- - beer_warrior   Можно прагмой, в gcc для этих целей есть атрибут. ...   Jul 11 2006, 07:25


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

 


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


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