常见动态分配内存分配函数

1.malloc函数的使用方法 :

void *malloc(unsigned size);

其中size是指的分配内存的字节

void *malloc(unsigned size) ,包含在库函数 stdlib.h中,作用是在内存的堆区分配一个大小为size的连续空间,如果分配内存成功,函数返回新分配内存的首地址,否则,返回NULL,注意:鉴于上述这点,一般在写程序需要判断分配内存是否成功。在使用完毕以后必须手动释放内存空间,否则会造成内存泄露。 malloc分配的是一块连续的内存。

  例:

int *p;
p=(int *)malloc(sizeof(int)*4);  // 分配出4个int型的存储空间
if(p!=NULL)
............//需要执行的语句
else 	
............//打印分配内存不成功出错信息
free(p); // 释放空间
p = NULL; // 清空指针 被释放后的指针不可在使用


2.calloc函数的使用:

原型为:

void*calloc(unsigned n,unsigned size); // c语言环境下
void *calloc(size_tenum_elements,size_t element_size); // OC环境下

n表示需要分配内存的数据项个数,size指每个数据项的大小,calloc函数会把存储空间初始化为
返回指向内存的指针之前把它初始化为0 。

例:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[]) {
    
    int *p,i;
    p = (int *)calloc(3,sizeof(int)); // 分配出3个int型的存储空间
    
    for (i = 0; i < 3; i++) {
        printf("%d\t",*p++);
    }
    free(p); // 释放
    
    return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值