我只是試驗C,我試圖把一個列表中的列表。問題是,當它打印數組 - >計數它顯示分段錯誤,當我嘗試更改數組 - >頭 - > X。我做錯了什麼?我還沒有完成我的程序,所以這就是爲什麼我使用宏。列入列表分段錯誤
#include <stdio.h>
#include <stdlib.h>
#define N 3
typedef struct smallList{
int x;
struct smallList *next;
} smallList;
typedef struct bigList{
int count;
struct bigList *next;
smallList *head;
} bigList;
void main(void)
{
bigList *array = (bigList*)malloc(sizeof(bigList));
array->count = 3;
printf("%d \n", array->count);
array->head->x = 10;
printf("%d \n", array->head->x);
}
Aahhhh ......我傻。我用array-> head =(smallList *)malloc(sizeof(smallList)); – user5552189
另外這裏的東西,直到幾個星期前我不知道有關malloc和爲什麼你不應該投射指針: http://stackoverflow.com/questions/605845/do-i-cast-the-result-of -malloc – Taelsin