/*********************************************
* @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