Нетрадиционный доступ к массиву
Добавлено: 08 ноя 2012, 19:28
Коллеги!
Есть массив вот такого структурного вида и разнообразного контента:
я хочу работать с ним как с обычным отрезком памяти.
как получить доступ к каждому элементу приведенному к char, начиная от его начала?
Поясняю:
Есть массив вот такого структурного вида и разнообразного контента:
Код: Выделить всё
struct{
struct{
char eng[MaxEngNum];
bool IMUaccelX,IMUaccelY,IMUaccelZ;
bool IMUrotX,IMUrotY,IMUrotZ;
char GPS;
}failed;
{
int other_var;
}many_other_struct_here;
}my_big_struct;
как получить доступ к каждому элементу приведенному к char, начиная от его начала?
Поясняю:
Код: Выделить всё
long lvar1=0;
int i;
char ch;
//последовательно суммирую все элементы массива что бы выявить, есть ли там хоть чтото отличное от нуля:
for(i=0;i<sizeof(my_big_struct.failed);i++)
{
// здесь должна быть строка которая берет char от указанного смещения, от начала массива
ch=((char *)my_big_struct.failed)[i];
//примерно что нить такое - вопрос... Что именно? голова полностью запуталась в этих указателях уже...
// потом обычное суммирование каждого байта
lvar1+=ch;
}
//а на выходе будет примерно так
if(lvar1!=0) WhatWeSend.failures=true;