他の構造から構造体の配列にアクセスするにはどうすればよいですか? all_albums_pからtrack_titlesにアクセスしたいと思います。私tried all_albums_p[i] -> all_tracks_p[j].tracks_title
それは別の構造の構造体の配列にアクセスするには?
struct tracks_{
char *tracks_title;
int playlist_hits;
};
struct album_ {
int num_tracks;
struct tracks_ tracks;
};
typedef struct album_ album;
typedef struct tracks_ tracks;
album *all_albums_p = (album *)malloc(sizeof(album)*number_of_album);
fscanf(album_file,"%d", &all_albums_p[j].num_tracks);
tracks *all_tracks_p = (tracks *)malloc(sizeof(tracks)*all_albums_p[j].num_tracks);
for(i=0;i<all_albums_p[j].num_tracks;i++){
fscanf(album_file,"%d", &number_of_charaters);
all_tracks_p[i].tracks_title = (char *)malloc(sizeof(char)*(number_of_charaters+1));
fscanf(album_file, "%[^\n]s", all_tracks_p[i].tracks_title);
printf("%s\n",all_tracks_p[i].tracks_title);
all_tracks_p[i].playlist_hits = 0;
}
/*These is where it is giving me errors*/
for(i=0; i < 10 ;i++){
printf("%d : %d\n",i,all_tracks_ptr[i].num_tracks);
for(j=0; j < number_of_albums[i].num_tracks ;j++){
printf("%s", number_of_albums[i]->all_tracks[j].tracks_title)
}
}
私にエラーを与えるコンパイラが言っている:
project3.c:26:39: error: request for member 'num_tracks' in something not a structure or union
project3.c:27:34: error: invalid type argument of '->' (have 'int')
'number_of_albums'は整数ですか? –
好奇心の中で、このコードを自分で書いたのですか?これは経験の豊富なプログラマーが書いたプログラムの抜粋のように見えます。経験の少ないプログラマーが書いたコードに貼り付けられているかもしれません。 – thb
はい私はそれを自分で書きました。しかし、私が書いたことの半分は理解できません。私は私が持っているメモから作品を貼り付けました。そして、ここで私を得た。 –