Получаю следующее: Program received signal SIGSEGV, Segmentation fault. 0x08048e6a in k () at test.c:18 18 printf("m = %d\n", A_CAST(l->data)->m); Как правильно получить доступ к структуре в GSList? Где ошибка? Спасибо. typedef struct { int m; } A; void k() { #define A_CAST(l) ((A *)l) GSList* l = g_slist_alloc(); g_assert(l != NULL); A* a = g_new(A, 1); a->m = 100; l = g_slist_append(l, a); printf("m = %d\n", A_CAST(l->data)->m); g_slist_foreach(l, (GFunc)g_free, NULL); g_slist_free(l); } int main(int argc, char** argv) { k(); return 0; }
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Объясните сие явление! (2002)
- Форум gnubiff (2006)
- Форум Posix Threads (2005)
- Форум что не так в использовании структуры (2008)
- Форум Помогите разобраться с сигналами (2003)
- Форум C. Парсер конфига (2005)
- Форум GLX - сегфолт на запросе glXGetFBConfigs (2011)
- Форум Учебный исходник Си вываливается с Segmentation fault. (2012)
- Форум Запуск самосгенерированного кода на Си в Linux (2007)
- Форум segmentation fault (2006)