У меня есть C -структуру вида:Обработка массивов структур C
#define RGB_TYPE 1
#define YUV_TYPE 2
#define MAX_LIST 20
typedef struct
{
uint16_t a[2];
uint8_t b;
float_t c;
} mystruct;
У меня есть массив MyStruct как этот
mystruct MyStructList[MAX_LIST]= {
{{100, 200}, RGB_TYPE, 25.0},
{{200, 400}, RGB_TYPE,25.0},
{{300,600} ,YUV_TYPE ,30.0},
{{400,600},YUV_TYPE, 30.0}
};
В моем коде я делаю следующее;
mystruct config;
int i = 0;
.....
for(i=0;i<4;i++)
{
config = MyStructList[i];
/* further processing on config */
some_func(i,&config);
}
int some_func(int x, mystruct* pstruct);
{
/* using pstruct values and storing them in internal arrays */
}
Является ли этот вид копии структуры и правильной обработки? Я использую mingw gcc
'struct' присваиваются, поэтому 'config = MyStructList [i];' отлично. Любые другие сомнения? –
Я не вижу никакой ошибки, но я не знаю, какой ур цель. вам нужно «config», если вы собираетесь назначить его другому «MyStructList [i]» , вы можете просто сделать some_func (i, & MyStructList [i]) – hit
«используя значения pstruct и хранить их во внутренних массивах» Какие внутренние массивы вы сохраняете значения pstruct? И когда вы говорите «значения pstruct», вы имеете в виду указатель, который передается в 'some_func' или значения элементов structs' pstruct'? –