首页 > 编程知识 正文

malloc使用方法,malloc和free的用法

时间:2023-05-06 13:18:55 阅读:34958 作者:4207

1,malloc ) )函数的头文件为stdlib.h,该函数声明如下:

void*malloc(size_tsize ); 其中参数size_t size表示动态内存分配空间的大小(以字节为单位)。 size_t是在typedef中重新定义的类型。 重新定义这种数据类型的作用是让用户一眼就能看到。 向用户指示此参数表示长度,size后加t表示它是整数类型的相关数据类型。 如果稍后查看xxx_t类型,则通常会重新定义整数类型的相关数据类型。 其中malloc ) )函数的返回值是指针。 或者,分配的内存空间的起始地址malloc ) )函数如果空间申请成功,则返回内存空间的起始地址,如果失败,则返回空2、int *p。

p=malloc(sizeof ) int ); 这里不能这样写。 出现错误。 从类型' void* '到类型' int '的转换无效。 应该更改为: p=(int * ) malloc(sizeof(int ) )。 3、malloc ) )在使用函数申请的区域之前,最好用memset ) )函数清理这个内存区域。 malloc ) )函数申请的区域只保证存储器区域的大小,不保证存储器区域中是否有数据垃圾

4,malloc ) )如果不在使用函数申请的区域,则必须使用以下函数释放此内存空间:

语音自由(语音* Ptr ); 其中,void *ptr是malloc ) )函数的返回值。 这意味着,如果只知道使用内存空间的第一个地址而不知道释放,则7天) 24小时运行的嵌入式产品容易发生内存泄漏,最终导致系统故障。 5、malloc ) )函数动态分配空间编程。

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * malloc () ) ) ) ) ) ) ) )

(1)定义一个char*型指针变量p

)2)给p分配10字节的内存空间

)3) come on )将字符串复制到p所指的内存空间中

)4)将p指针指向的存储器空间再扩大20字节

(5)将)、和谐长颈鹿! )。 字符将复制到p点空间字符串的后面

)6)释放p指向的空间

* * * * * * * * * * * * * * * *

# include iostream # includecstdlib # includecstringusingnamespacestd; int main () {char *p; p=(char* ) malloc(10*sizeof ) char ); 短信(p,0,10 * sizeof ) char ); srcpy(p,' come on '; cout 'p: ' p endl; p=(char* ) realloc(p ) p,20*sizeof ) char ); cout'p:'sizeof(p ) endl; strcat(p,),和谐的长颈鹿! ' ); cout 'p: ' p endl; free(p; 返回0; (输出) p : comeonp :4 p : come on,和谐长颈鹿! ————————————————

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。