C动态内存分配是在C语言中为了实现动态内存分配而进行的手动内存管理。这种管理是通过C標準函式庫中的malloc
、realloc
、calloc
、free
等函数进行的。[1][2]
C++ 为了兼容 C 语言也提供这些函数,但是更推荐使用 new
、delete
操作符来完成类似的操作。[3]
malloc
所实际使用的内存分配机制有很多不同的实现,执行时间和内存消耗各有不同。
函数概述 C 动态内存分配函数在头文件 stdlib.h
中声明(C++ 中对应的头文件名称为 cstdlib
)。[1]
函数 | 描述 |
---|
malloc | 分配指定数量的字节 |
realloc | 调整指定内存块的大小,必要时会重新分配 |
calloc | 分配指定数量的字节,并初始化为 0 |
free | 释放指定的内存块 |
类型安全 malloc
所执行的内存分配基于字节数而不是类型,其返回类型为 void 指针(void *
),表示该指针所指向区域的数据类型未知。C++ 由于其强类型系统,实际使用该指针时需要进行强制类型转换,而 C 语言中则不必进行。
int * ptr; ptr = malloc(10 * sizeof(int)); /* 不进行强制类型转换 */ ptr = (int *)malloc(10 * sizeof(int)); /* 进行强制类型转换 */
另见参考资料 - ^ 1.0 1.1 ISO/IEC 9899:1999 specification (PDF). . p. 313, § 7.20.3 "Memory management functions" [2018-07-25]. (原始内容 (PDF)于2018-01-27) (英语).
- ^ Godse, Atul P.; Godse, Deepali A. Advanced C Programming. p. 6-28: Technical Publications. 2008: 400. ISBN 978-81-8431-496-0 (英语).
- ^ Stroustrup, Bjarne. Programming: Principles and Practice Using C++. 1009, §27.4 Free store: Addison Wesley. 2008: 1236. ISBN 978-0-321-54372-1 (英语).
c动态内存分配, 是在c语言中为了实现动态内存分配而进行的手动内存管理, 这种管理是通过c標準函式庫中的malloc, realloc, calloc, free, 等函数进行的, 为了兼容, 语言也提供这些函数, 但是更推荐使用, delete, 操作符来完成类似的操作, malloc, 所实际使用的内存分配机制有很多不同的实现, 执行时间和内存消耗各有不同, 目录, 函数概述, 类型安全, 另见, 参考资料函数概述, 编辑c, 动态内存分配函数在头文件, stdlib, 中声明, 中对应的头文件名称为, cst. C动态内存分配是在C语言中为了实现动态内存分配而进行的手动内存管理 这种管理是通过C標準函式庫中的malloc realloc calloc free 等函数进行的 1 2 C 为了兼容 C 语言也提供这些函数 但是更推荐使用 new delete 操作符来完成类似的操作 3 malloc 所实际使用的内存分配机制有很多不同的实现 执行时间和内存消耗各有不同 目录 1 函数概述 2 类型安全 3 另见 4 参考资料函数概述 编辑C 动态内存分配函数在头文件 stdlib h 中声明 C 中对应的头文件名称为 cstdlib 1 函数 描述malloc 分配指定数量的字节realloc 调整指定内存块的大小 必要时会重新分配calloc 分配指定数量的字节 并初始化为 0free 释放指定的内存块类型安全 编辑malloc 所执行的内存分配基于字节数而不是类型 其返回类型为 void 指针 void 表示该指针所指向区域的数据类型未知 C 由于其强类型系统 实际使用该指针时需要进行强制类型转换 而 C 语言中则不必进行 int ptr ptr malloc 10 sizeof int 不进行强制类型转换 ptr int malloc 10 sizeof int 进行强制类型转换 另见 编辑缓冲区溢出 記憶體保護 可变长数组参考资料 编辑 1 0 1 1 ISO IEC 9899 1999 specification PDF p 313 7 20 3 Memory management functions 2018 07 25 原始内容存档 PDF 于2018 01 27 英语 Godse Atul P Godse Deepali A Advanced C Programming p 6 28 Technical Publications 2008 400 ISBN 978 81 8431 496 0 英语 Stroustrup Bjarne Programming Principles and Practice Using C 1009 27 4 Free store Addison Wesley 2008 1236 ISBN 978 0 321 54372 1 英语 这是一篇關於電腦程式語言的小作品 你可以通过编辑或修订扩充其内容 查论编 取自 https zh wikipedia org w index php title C动态内存分配 amp oldid 75045423, 维基百科,wiki,书籍,书籍,图书馆,
文章
,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。