我需要幫助將*user_playlist
指向播放列表節點。我怎樣才能做到這一點?如何將一個結構指向另一個
struct playlist_ {
int album;
int track_num;
struct playlist_ *next;
};
typedef struct playlist_ playlists;
struct users_ {
int user_ID;
playlists *user_playlist;
struct users_ *next;
};
typedef struct users_ users;
p_users = (users *)malloc(sizeof(users *));
p_users -> user_ID = account_number;
head_users = p_users;
head_users -> next = NULL;
users_pointer = head_users;
p_playlists = (playlists *)malloc(sizeof(playlists));
curr_playlists = p_playlists;
curr_playlists -> album = NULL;
curr_playlists -> track_num = NULL;
curr_playlists -> next = NULL;
curr_users -> user_playlist = curr_playlists;
users *head_users,*curr_users,*p_users,*users_pointer;
playlists *head_playlists,*curr_playlists,*p_playlists,*playlist_pointer;
你遇到什麼問題? – MByD 2012-04-03 11:29:04
我得到總線錯誤(核心轉儲) – 2012-04-03 11:31:40
我認爲你需要寫malloc(sizeof(users))而不是malloc(sizeof(users *))。 'sizeof(users *)'表示當你需要'users'的大小時指向'users'的指針的大小。 – Ivan 2012-04-03 11:33:23