国际访客建议访问 Primers 编程伙伴 国际版站点 > C 教程 > strdup 以获得更好的体验。

# C 语言标准库函数 strdup

在头文件 string.h 中定义。
/*********************************************
 * @brief 分配内存并复制字符串
 * @param src 源字符串
 * @return 目标地址
 ********************************************/
char* strdup(const char* src);

!subtitle:说明

分配内存并复制字符串。

返回的指针需要通过 free 进行释放。

!subtitle:参数

  • src - 指向要被复制的字符串

!subtitle:返回值

  • 指向新分配的字符串的指针

  • 如果发生错误则为 NULL

# 示例

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

int main(void)
{
    char* src = strdup("hello");    // 复制字符串
    printf("%s\n", src);
    free(src);                      // 释放内存

    return 0;
}

运行结果:

hello

# 推荐阅读

本文 更新于: 2025-11-27 09:38:10 创建于: 2025-11-27 09:38:10