프로젝트에서 동적으로 메모리를 할당해야합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 나는이 배열을 반환하고 싶었 또한 경우구조체 배열을 할당하는 데 문제가 있습니다.
/*Setting up my Struture*/
struct album_ {
int num_tracks;
struct tracks_ tracks;
int playlist_hits[];
};
typedef struct album_ album;
/*Try to allocate memory for structure*/
fscanf(album_file,"%d", &number_of_album);
album *all_albums_p = (album *)malloc(sizeof(album)*number_of_album);
for(i=0;i < number_of_album; i++){
all_albums_p[i].num_tracks = (int *)malloc(sizeof(int));
all_albums_p[i].num_tracks = i+1;
printf("%d\n",all_albums_p[i].num_tracks);
}
Error Message
warning: assignment makes integer from pointer without a cast [enabled by default]
그것은 return all_albums_p
에 맞습니까? 만약 album
배열을 할당되므로
매우 합리적인 소리가 나지 않는다 : 19 : 5 : 오류 : 유연한 배열 member' 의 잘못된 사용을'functions.c : 20 : 5 : 오류 : 잘못된 사용 플렉시블 어레이 멤버 ' –
@LearningC 마지막 편집을 참조하십시오. 모든 유연한 배열의 크기가 같지 않으면 배열의 유연한 배열이있는 구조체를 사용할 수 없습니다 (예에서 크기가 같지 않은 것처럼 보입니다). – dasblinkenlight
감사합니다. 지금 받으십시오. 그 문제가 해결되었습니다. 또 다른 문제는'return all_albums_p; '를하려고하지만'return : 정수가 아닌 포인터에서 정수를 만듭니다 [기본값으로 활성화]'입니다. –