内存分配函数
来源:互联网 发布:淘宝直通车的规则 编辑:程序博客网 时间:2024/06/04 01:08
1.内存分区,内存地址从低到高排列:代码区、常量区、静态区、堆区、栈区。
2.c中提供堆区供给开发者分配内存空间,动态内存分配函数malloc,calloc,realloc
(1)malloc函数的使用,原型为void *malloc(int length)参数为分配内存空间的大小:
//将内存分配4个字节给一个int型指针
//返回值为任何指针
//考虑到不同平台,可以使用sizeof(char)来确定一个字节
int *p = malloc(4);
*p = 4;
//要开辟一块 内存空间,首先要明白开发这块内存空间要干什么事情
//malloc函数 的内存的分配不负责清空内容
char *str = malloc(sizeof(char) * 8);
strcpy(str, "xiansen");
int *array = malloc(sizeof(int) * 6);
//对内存的释放
//无返回值,有一个参数,任意类型的指针
//释放内存只是对内存标记为可用,并没有对内存进行清空
free(p);
free(str);
free(array);
(2)calloc与realloc函数
//calloc函数在奉陪内存的时候清空所有内容效率略低
//参数1:分配多少内存// 参数2:每个内存多大// char *str= calloc(2, sizeof(char));// 从新分配内存大小// 参数1:给谁分配// 参数2:重新分配大小// printf("%p\n", str);// str = realloc(str, 100);3.内存操作函数
初始化内存:void *memset(void *s , int c , size_t n) //从s地址指向的内存开始初始化n个字节的内容为c;
拷贝内存:void *memcpy(void *dest,const void*source , size_t n) //从source指向的地址开始拷贝到dest拷贝n个字节;
内存比较:int memcmp(const void *buf1, const void*buf2, unsigned int count) 比较buf1,buf2的内存是否相同,比较count个字节;
- 内存分配函数
- 内存分配函数
- 内存分配函数总结
- 内存分配函数总结
- 内存分配函数总结
- 内存分配函数
- 函数分配内存
- 内存块分配函数
- 内存分配函数
- 内存分配函数总结
- linux内存分配函数
- linux 内存分配函数
- 动态内存分配函数
- 内存分配函数
- 内存分配函数
- 内存分配函数差异
- 内存分配函数总结
- 内存分配函数总结
- C#.Net 持久化对象为XML文件
- 一个简单的手机拨号器
- 机器学习(3)——KNN算法及手写数字的识别(一)
- memset的问题
- Monkey源码分析之运行流程
- 内存分配函数
- onvif 客户端发现
- 关于 redis、memcache、mongoDB 的对比
- C++多态性的分类
- Python设计模式——工厂方法模式
- POJ 3696 The Luckiest number (整数的阶+欧拉定理)
- 东营市胜利第一中学2015年自主招生工作实施方案
- Java支付宝接口心得
- 并发专题-java中的阻塞队列