Кажется, Вы не понимаете различий между 'unsigned char' и 'unsigned char *'
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Палыч 07 сентября 2005 г. 15:40
В ответ на: Ответ: можно и без звездочки, н сия переменная потом будет передаваться в функцию, а это память и тд. звездочка рояли не сыграла, попробовал и так и эдак. отправлено <font color=gray>Zlobster</font> 07 сентября 2005 г. 14:54

В приведенном Вами фрагменте - не массив байт, а массив адресов, указывающих на байты. Т.е. каждый элемент массива ARP_ADDR - адрес, и занимает он несколько байт в памяти. При трансляции 'send_buffer.ether.src_mac[0]=ARP_ADDR[0];' транслятор должен выдавать предупреждение, поскольку Вы пытаетесь положить в байт значение адреса байта (занимает несколько байт). Возможно, 'потеря' старшего бита происходит при 'приведении' адреса к байтовой переменной.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru