头文件:
#include<string.h>
定义函数:char * strdup(const char *s);
函数说明:strdup()会先用maolloc()配置与参数s 字符串相同的空间大小,然后将参数s 字符串的内容复制到该内存地址,然后把该地址返回。strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。
返回值:返回一字符串指针,该指针指向复制后的新字符串地址。若返回NULL 表示内存不足。
范例
#include <string.h>
main(){
char a[] = "strdup";
char *b;
b = strdup(a);
printf("b[]=\"%s\"\n", b);
}
free(b);
执行结果:
b[]=”strdup”