Плохой указатель в инициализации переменной структуры - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть структура, которую я пытаюсь инициализировать с некоторыми адресами. Я получаю ошибку времени выполнения плохих указателей. В основном адреса не хранятся правильно.

typedef struct    
{

   Uint8      *pInAddr[2];         

}structtest2_t;  


typedef struct    
{              

   structtest2_t  structtest2[2]; 

}structtest_t;

structtest_t  structtest;

Я пытаюсь инициализировать следующим образом:

structtest.structtest2[0].pInAddr[0]=(uint8*)(someaddress);

Я не получаю ошибку компиляции, но есть неверный указатель, когда я вижу значение.

Пожалуйста, помогите

Спасибо

1 Ответ

0 голосов
/ 30 декабря 2010

Возможно, вам нужно изменить:

structtest.structtest2[0]=(uint8*)(someaddress);

на:

structtest.structtest2[0].pInAddr[0]=(uint8*)(someaddress);

Я удивлен, что вы не получили предупреждение компилятора для своего кода - используете ли вы gcc -Wall или эквивалент?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...