У меня есть такая иерархия:С указателями таНос внутри вызова функции
main()
{
int i;
myStruct *devices = NULL;
myFunc1(&devices);
for (i = 0; i < 5; i++)
{
printf("MAC: %s, Name: %s, COD: %s\n\r", devices[i].field1, devices[i].field2, devices[i].field3);
}
}
void myFunc1(myStruct **devices)
{
myFunc2(devices);
}
void myFunc2(myStruct **devices)
{
int i;
*devices = malloc(sizeof(myStruct) * 5);
for (i = 0; i < 5; i++)
{
(*devices[i]).field1 = "test1";
(*devices[i]).field2 = "test2";
(*devices[i]).field3 = "test3";
}
}
В главной, когда я доступ к устройствам [I] с = 0, то это нормально, но когда я> 0 Segfault происходит, и могу не понимаю, как получить к нему доступ правильно.
Compile со всеми предупреждениями и отладочной информации ('НКУ -Wall -Wextra -g'). ** Используйте отладчик ** ('gdb') и [valgrind] (http://valgrind.org/), если они доступны. –
@ Дабо: нет, это ошибка компиляции. очевидно, что код не является полным. –