[英]dynamic allocation of struct with Malloc
我是 C 和动态分配的初学者,我想为结构分配一个 memory。 struct MusicTitle 具有音乐标题列表,而签名者结构具有歌曲名称和他制作的专辑编号。
struct musicTitle() // structure of music title
{
Char* nameofsong;
char* Singer_name;
Char * release_year; }
musicTitle* allocteMusicTitle(){ // function to allocate memory for the music title struct
musicTitle* musicTitlePtr= (musicTitle*)malloc(sizeof(musicTitle*));
return musicTitlePtr;
}
struct singer{ // each singer has musictitle and albums
musicTitle* musicTitleofsigner
int* nbrAlbum;
}
singerMusic* allocateSingerMusic {
singerMusic* singerMusicPtr= (singerMusic*)malloc(sizeof(singerMusic*)); //allocate memory for singerMusic struct
}
我的问题是,我需要为歌手结构的 nbrAlbum 分配 memory 吗? 还是用 allocateSingerMusic function 来完成? 谢谢
这段代码几乎没有语法和逻辑问题。 例如缺少分号。
musicTitle* musicTitleofsigner
并使用指针大小而不是结构大小分配 memory。
singerMusic* singerMusicPtr= (singerMusic*)malloc(sizeof(singerMusic*));
我希望,你会改正这些错误。 您的主要问题的答案是您需要为 nbrAlbum 分配 memory。 这就是 C 语言的强大和美妙之处,除非明确完成,否则不会自动分配动态 memory。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.