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

全部博文(55)

文章存档

2011年(32)

2010年(23)

分类: C/C++

2010-11-28 18:58:17

/*
 * 用动态分配内存制作一个字符串的一份拷贝。注意:调用程序应该负责检查这块
 * 内存是否分配成功!这样做允许调用程序以任何它所希望的方式对错误作出反应。
 */
 

#include <stdlib.h>        // 有关动态内存分配的函数都定义在该头文件中

#include <stdio.h>        // NULL 在该头文件定义


char *strdup( char const *string )
{
    char *new_string;

    /* 请求足够长度的内存,用于存储字符串和它的结尾NUL字节 */
    new_string = malloc( strlen( string ) + 1 );    // 要学会strlen()的使用


    /* 如果请求内存成功,就复制字符串 */
    if( new_string != NULL )
        strcpy( new_string, string );

    return new_string;
}


阅读(1717) | 评论(0) | 转发(0) |
0

上一篇:动态内存分配之11.4

下一篇:指针之6.1

给主人留下些什么吧!~~