C语言中malloc函数的使用方法是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中malloc函数的使用方法是啥?相关的知识,希望对你有一定的参考价值。

参考技术A C语言中malloc是动态内存分配函数。\\x0d\\x0a函数原型:void *malloc(unsigned int num_bytes);\\x0d\\x0a参数:num_bytes 是无符号整型,用于表示分配的字节数。\\x0d\\x0a返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者...)\\x0d\\x0a功能:分配长度为num_bytes字节的内存块\\x0d\\x0a注意:当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。\\x0d\\x0a实例:\\x0d\\x0a#include"stdio.h"\\x0d\\x0a \\x0d\\x0a#include"malloc.h"//malloc()函数被包含在malloc.h里面\\x0d\\x0a\\x0d\\x0aint main(void)\\x0d\\x0a\\x0d\\x0a \\x0d\\x0achar*a=NULL;//声明一个指向a的char*类型的指针\\x0d\\x0a \\x0d\\x0aa=(char*)malloc(100*sizeof(char));//使用malloc分配内存的首地址,然后赋值给a\\x0d\\x0a \\x0d\\x0aif(!a)//如果malloc失败,可以得到一些log\\x0d\\x0a \\x0d\\x0a\\x0d\\x0aperror("malloc");\\x0d\\x0areturn-1;\\x0d\\x0a\\x0d\\x0a \\x0d\\x0asprintf(a,"%s","HelloWorld\n");//"HelloWorld\n"写入a指向的地址\\x0d\\x0a \\x0d\\x0aprintf("%s\n",a);//输出用户输入的数据\\x0d\\x0a \\x0d\\x0afree(a);//释放掉使用的内存地址\\x0d\\x0a \\x0d\\x0areturn0;//例2有无内存泄露?\\x0d\\x0a \\x0d\\x0a

以上是关于C语言中malloc函数的使用方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

malloc函数实现的功能是啥?

c语言中,malloc和free是啥意思?

malloc函数的原理是啥啊?

C语言中的malloc函数的使用?

C语言 malloc()函数 分配内存空间尺寸的问题

C语言 malloc()函数 分配内存空间尺寸的问题