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

 
 
> помогите с контрукциями С, непонятно
Dubov
сообщение Jul 11 2012, 15:26
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Волей судьбы пришлось разбираться с чужим кодом.
Никак не пойму что означает такая конструкция:
CODE
typedef void ( * DSP_Proc ) ( win_inst * win, mod_msg * pMsg );


а потом вижу такое
CODE
DSP_Proc Сom_fProc[CMD_NUMBER];

где элементы массива - имена, ранее объявленых функций.

Зачем так сильно всё усложнать? где такие выкрутасы оправданы и полезны?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dubov
сообщение Jul 12 2012, 20:48
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Не хочу засорять форум однотипными вопросами. Но очень нужна помощь в понимании некоторых конструкции, а посему опять вопрос)
Вижу контсрукцию:
CODE
typedef struct tagX {

int16 * p; //!< pointer to samples buffer

} X;
X x1;


а затем вижу такое

CODE
memcpy( &RawVal[0],
&x1.p[0],
NUMB*sizeof(int16) );
memcpy( &RawVal[NUMB],
&ad7324.pSamp[NUMB*FRAME_SZ],
NUMB*sizeof(int16) );


Получается сначала объявили структуру, где поле является указателем, а потом копируется по адресу указателя целый массив. Это нормально?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 15:09
Рейтинг@Mail.ru


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