C语⾔中malloc函数的使⽤⽅法
C语⾔中malloc是动态内存分配函数,C++中使⽤new关键字
函数原型:void *malloc(unsigned int num_bytes);
参数:num_bytes 是,⽤于表⽰分配的字节数。
molloc函数
返回值:如果分配成功则返回指向被的指针(此存储区中的初始值不确定),否则返回空指针NULL。void* 表⽰未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道⽤户是⽤这段空间来存储什么类型的数据。
功能:分配长度为num_bytes字节的内存块
注意:当内存不再使⽤时,应使⽤free()函数将内存块释放。函数返回的指针⼀定要适当对齐,使其可以⽤于任何数据对象。关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进⾏类型转换。
例:
#include"stdio.h"
#include"malloc.h" //malloc()函数被包含在malloc.h⾥⾯
int main(void)
{
char*a=NULL;//声明⼀个指向a的char*类型的指针
a=(char*)malloc(100*sizeof(char));//使⽤malloc分配内存的⾸地址,然后赋值给a
if(!a)//如果malloc失败,可以得到⼀些log
{
perror("malloc");
return-1;
}
sprintf(a,"%s","HelloWorld\n");//"HelloWorld\n"写⼊a指向的地址
printf("%s\n",a);//输出⽤户输⼊的数据
free(a);//释放掉使⽤的内存地址
return0;//例2有⽆内存泄露?
}
(分配类型 *)malloc(分配元素个数 *sizeof(分配类型))
如果成功,则返回该空间⾸地址,该空间没有初始化,如果失败,则返回0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。