ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
389898 Топик полностью
abivan (22.02.2013 11:12 - 11:26, просмотров: 99) ответил RedFroggy на Самое плохое - что ошибка неявная. Т.е. все способы, которые сразу приходят в голову, по приведению типов и т.п. - НЕ работают. Так как конструкцию 0xC0 + 4 работает, то всё что приходит в голову - какая-то проблема с передачей указателя на
пробуем так  void f1(unsigned char *buff); void f1(unsigned char *buff){ int iVar; iVar=*(((int*)(buff+2))+3); } unsigned char Buff[]={0x1,0x2,3,4,5,6,7,8,9,0xA}; int main(){ f1(Buff); return(0); } >Причём, если записать выражение как Var1 = 0xC0 + 4, то всё работает правильно. этож обычная нициализация константой. Еще бы она работала не правильно. Вообще дело не в кейле а в том как написано выражением. Нужно сначала указатель привести к типу, а потом делать смещение на n интовых элементов