Chinaunix首页 | 论坛 | 博客
  • 博客访问: 388915
  • 博文数量: 55
  • 博客积分: 1907
  • 博客等级: 上尉
  • 技术积分: 869
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 19:30
文章分类

全部博文(55)

文章存档

2011年(32)

2010年(23)

分类: C/C++

2010-11-28 18:50:33

/*
 * 请你自己尝试编写 calloc 函数,函数内部使用 malloc 函数来获取内存。
 */
/* A function than performs the same job as the library 'calloc' function */
 

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

void *calloc( size_t n_elements, size_t element_size )
{
    char *new_memory;

    n_elements *= element_size;        // 获取字节数
    //n_elements = n_elements * element_size;
    new_memory = malloc( n_elements );
    if( new_memory != NULL )
    {
        char *ptr;

        ptr = new_memory;
        while( --n_elements >= 0 )    //在函数返回之前将动态获得的内存初始化为0
            *ptr++ = '\0';
    }

    return new_memory;
}


阅读(1224) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-01 16:41:23

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com