繁体   English   中英

使用 Malloc 动态分配结构

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM