-
- реально раз 10 прочитал пока не начал что-то понимать. зачем так словами жонглировать? похоже у тебя проблемы с пониманием как обращаться к элементам структуры. у тебя массив структур, вот и обращайся сначала к нужной структуре из массива по Snaky(278 знак., 16.08.2013 15:53)
- А как нужно? - mazur(16.08.2013 15:56)
- ну st_flags - это же член структуры, следовательно надо к нему по полному имени обращаться. Snaky(421 знак., 16.08.2013 16:04)
- А как нужно? - mazur(16.08.2013 15:56)
- в Си запись arr[index] эквивалентна index[arr], потому что эквивалентна *(arr + index). Указатель в Си это не только адрес переменной, но и инфа для компилятора о размере типа - она нужна именно для расчета смещения. т.е. размер массива структур Vit(106 знак., 16.08.2013 15:44)
- array[index] == *(typeof(array))((char*)array + sizeof(array[0])*index) - fk0(16.08.2013 16:15 - 16:25)
- Тогда уж array[index] == *(array + index), зачем множить? - Ксения(16.08.2013 16:19)
- То есть, мне не нужно заморачиваться о размере элемента из байт-статус+счетчик? - mazur(16.08.2013 15:51)
- Компилятор сам разберётся. Мне кажется, что для начала нужно устаканить один момент Vit(315 знак., 16.08.2013 16:04)
- Лучше ему пока не знать от typedef -- запутается в конец. Пусть пишет вручную struct, так нагляднее. - fk0(16.08.2013 16:17)
- считаю, что как раз с ним нагляднее. struct вручную чревато мурашками - где описание, а где объявление, сами компиляторописатели не очень-то разбираются - Vit(16.08.2013 16:26)
- Не понимаю проблемы с компиляторами, их нет. А typedef вокруг каждого struct неудобен тем, что мы не видим, что это struct и можем подумать, что это скалярный тип данных. Потом, например, пытаться передавать по-значению. И даже работать будет, но fk0(22 знак., 16.08.2013 16:38)
- есть. с профессиональными особенно. а скалярные типы давно все помнят наизусть:) - Vit(16.08.2013 16:42)
- Это из стандартных. А через что сделан MySuperDataType -- х.з. - fk0(16.08.2013 16:44)
- правильная IDE подскажет. или прыгнуть на определение поможет на крайняк. а в блокноте да, надо помнить. - Snaky(16.08.2013 16:54)
- ну дык и читать (хедеры) иногда нужно - Vit(16.08.2013 16:52)
- Это из стандартных. А через что сделан MySuperDataType -- х.з. - fk0(16.08.2013 16:44)
- есть. с профессиональными особенно. а скалярные типы давно все помнят наизусть:) - Vit(16.08.2013 16:42)
- Не понимаю проблемы с компиляторами, их нет. А typedef вокруг каждого struct неудобен тем, что мы не видим, что это struct и можем подумать, что это скалярный тип данных. Потом, например, пытаться передавать по-значению. И даже работать будет, но fk0(22 знак., 16.08.2013 16:38)
- считаю, что как раз с ним нагляднее. struct вручную чревато мурашками - где описание, а где объявление, сами компиляторописатели не очень-то разбираются - Vit(16.08.2013 16:26)
- Лучше ему пока не знать от typedef -- запутается в конец. Пусть пишет вручную struct, так нагляднее. - fk0(16.08.2013 16:17)
- не нужно. Я понял тебе нужен цикл по всем элементам массива, т.е. проверить статусы во всех таймерах. можешь указатель ++, а можешь и индех массива ++ - abivan(16.08.2013 15:57)
- Компилятор сам разберётся. Мне кажется, что для начала нужно устаканить один момент Vit(315 знак., 16.08.2013 16:04)
- +1 вообще не нужно оперировать быйтами. А только элементами массива и полями структуры. А если еще вырвнивание начнется ... - abivan(16.08.2013 15:47)
- array[index] == *(typeof(array))((char*)array + sizeof(array[0])*index) - fk0(16.08.2013 16:15 - 16:25)
- реально раз 10 прочитал пока не начал что-то понимать. зачем так словами жонглировать? похоже у тебя проблемы с пониманием как обращаться к элементам структуры. у тебя массив структур, вот и обращайся сначала к нужной структуре из массива по Snaky(278 знак., 16.08.2013 15:53)