******************* 常见的内存分配函数 *******************
来源:互联网 发布:添加网络背景音乐 编辑:程序博客网 时间:2024/04/29 17:44
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
// 常见的内存分配函数
//
// Created by 李佳乐 on 15-3-19.
// Copyright (c) 2015年 李佳乐. All rights reserved.
//
//******************* malloc--calloc--realloc ***************************
//动态内存分配,在内存的堆区分配
//动态内存分配函数介绍:
//注意:动态内存分配函数都在stdlib.h头文件中
// 1)malloc,返回值是新申请的内存空间的首地址,如果失败返回的是NULL
// void * malloc(字节数)
// 2)calloc(n,size),可以在堆区中申请 n个,大小是size的空间
// 如果分配成功返回值是新申请的内存空间的首地址
// 如果失败返回的是NULL
// calloc申请成功后,会自动初始化
// int a[10];
// 3)realloc
// realloc(指针变量p,size) 把指针变量p所指向的内存空间的大小
//更改成size
// 注意:realloc返回的是扩展后的空间的首地址
//
// 扩展的结果:
// 如果当前p相邻的空间有足够大得位置,扩展后空间的首地址不变
// 如果当前p相邻的空间没有足够大得位置,重新寻找一块足够大的空间,返回回来(把新空间的首地址返回)并且把原来空间的值拷贝过来
#include <stdio.h>
//引入头文件
#include <stdlib.h>
//malloc 函数的使用方法
//申请一个新的内存空间
void malloc1(){
//3 个整数 1,10,100
int *p = (int *) malloc(12);
if(p!=NULL){
//使用新申请的内存空间
*p =1 ;
*p =10;
*p =100;
}
for(int i =0;i < 3;i++){
printf("%d\t",*(p+i));
}
}
//calloc的函数使用
//申请多个内存空间
void calloc1(){
//申请10个大小为4的内存空间
int *p = (int *)calloc(10,sizeof(int));
if(p != NULL){
//通过循环给内存空间赋值
for(int i =0;i<10;i++){
*(p+i) = i;
}
}
//查看内存空间的内容
for(int i =0;i <10;i++){
printf("%d\n",*(p+i));
}
}
int main(int argc,const char * argv[]) {
int *P = malloc(4);
*p =1;
printf("%p\n",p);
p = (int *) realloc(p ,8);
printf("%p\n",p);
*(p+1) =10;
printf("%d,%d\n",*p,*(p+1));
return 0;
}
- ******************* 常见的内存分配函数 *******************
- 常见内存分配函数
- 常见内存分配函数
- 常见动态分配内存分配函数
- 常见的Linux内核中内存分配函数
- 常见的Linux内核中内存分配函数
- 常见的Linux内核中内存分配函数
- 常见的Linux内核中内存分配函数
- C语言—常见的内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- Linux内核中常见内存分配函数
- XCODE6添加pch
- centos下安装谷歌浏览器
- redis配置文件redis.conf参数说明
- java开端(一)——为什么要配置环境变量??
- [Linux]drbd怎么读
- ******************* 常见的内存分配函数 *******************
- python __init__.py
- 安装ubuntu14.04问题合集
- C# 和 Java 中的 foreach
- MediaExtractor介绍
- java操作redis方式
- 电话面试之阿里
- C语言 计算1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的值
- Cocos2d-x结构学习(四)CCLayer、CCApplicationProtocol、CCApplication