C++笔记——malloc基本用法
来源:互联网 发布:奥迪a4l矩阵式led大灯 编辑:程序博客网 时间:2024/06/05 05:21
int *p;
p = (int*)malloc(sizeof(int) * 128);
//分配128个(可根据实际需要替换该数值)整型存储单元,malloc申请的是虚拟内存,并不是物理内存
//并将这128个连续的整型存储单元的首地址存储到指针变量p中
double *pd = (double*)malloc(sizeof(double) * 12);
//分配12个double型存储单元,
//并将首地址存储到指针变量pd中
第一、malloc 函数返回的是 void * 类型。
对于C++,如果你写成:p = malloc (sizeof(int)); 则程序无法通过编译,报错:“不能将 void* 赋值给 int * 类型变量”。
所以必须通过 (int *) 来将强制转换。而对于C,没有这个要求,但为了使C程序更方便的移植到C++中来,建议养成强制转换的习惯。
第二、函数的实参为 sizeof(int) ,用于指明一个整型数据需要的大小。
malloc()函数其实就在内存中找一片指定大小的空间,然后将这个空间的首地址范围给一个指针变量,这里的指针变量可以是一个单独的指针,也可以是一个数组的首地址,这要看malloc()函数中参数size的具体内容。我们这里malloc分配的内存空间在逻辑上连续的,而在物理上可以连续也可以不连续。对于我们程序员来说,我们关注的是逻辑上的连续,因为操作系统会帮我们安排内存分配,所以我们使用起来就可以当做是连续的。
可以通过malloc(size_t)函数调用申请超过该机器物理内存大小的内存块。
内存泄露一般是指程序申请了一块内存,使用完后,没有及时将这块内存释放,从而导致程序占用大量内存。
无法通过内存释放函数free(void*)直接将某块已经使用完的物理内存直接还给操作系统。
阅读全文
0 0
- C++笔记——malloc基本用法
- C语言消除逗号,PS:malloc基本用法
- C malloc函数用法
- C语言malloc用法
- C语言malloc用法
- C学习笔记——malloc内存分配
- C中malloc函数用法
- 指针和malloc用法笔记
- c#——Dapper基本用法
- c语言笔记——基本数据类型
- C语言——malloc和free
- C语言中 malloc函数用法
- C语言中 malloc函数用法
- C语言中 malloc函数用法
- C语言中 malloc函数用法
- C语言中 malloc函数用法
- C#——LINQ to object 基本用法
- cuda《学习笔记二》——基本用法
- 5种服务器网络编程模型讲解
- 吴恩达 神经网络和深度学习 第一部分课程 第一章课后习题 Neural Network Basics
- Java Struts2 框架表单中文乱码的解决方案
- Codeforces Round #451 (Div. 2)
- Python学习笔记
- C++笔记——malloc基本用法
- 使用 Dockerfile 自定义 Docker 镜像
- java网络编程
- 为什么HashMap 常用String 对象作key
- ubuntu 作为服务器,创建新用户,并设置为管理员权限。
- 程序员毕业五年那些事儿
- QML中展示文件列表的listmodel:FolderListModel
- GAWK(二):将RS、FS设置为连续空格的三种方法
- 处理大并发之四 libevent demo详细分析(对比epoll)