strdup與strcpy具體的區別

2021-07-29 20:02:29 字數 823 閱讀 9284

根據 strdup 的用法,寫了下面的程式:

執行結果如下:

首先對於 strdup 函式來說:

#include

#include 因為要用 free( ) 函式

extern char *strdup(char *src);

函式返回乙個指標,該指標會指向「複製字串分配的空間」(複製字串 src),如果分配空間失敗,則返回 null 值。

strdup( ) 函式在其實現內部呼叫了 malloc( ) ,為變數分配記憶體,不需要使用返回的字串時,需要用 free( ) 釋放相應的記憶體空間,否則會造成記憶體洩露。

根據 strcpy 函式的用法,寫出下面的程式:

執行的結果:

#include

extern char *strcpy(char *dest,char *src);

函式會把 src 所指向的「以null結尾的字串」複製到 dest 所指向的陣列中,但我們需要注意的是,這個函式的 dest 指標所指向的空間需要在呼叫時分配好了,單純的乙個指標是沒法呼叫 strcpy 函式的。

strdup與strcpy具體的區別

我分別在xp的環境和linux環境下編譯執行c 我發現乙個不解的現象 現象描述 兩個字串 char from,char to 要把from的內容複製給to。我在xp下,用strcpy to,from 出現memory問題,於是換成 to strdup from 就執行正常。而在linux下,用to ...

關於strcpy以及strdup的區別

strdup與strcpy具體的區別 引 我分別在xp的環境和linux環境下編譯執行c 我發現乙個不解的現象 現象描述 兩個字串 char from,char to 要把from的內容複製給to。我在xp下,用strcpy to,from 出現memory問題,於是換成 to strdup fro...

strcpy和strdup比較和詳解

extern char strdup char s 標頭檔案 string.h 功能 將串拷貝到新建的位置處 說 明 strdup不是標準的c函式。strdup 在內部呼叫了malloc 為變數分配記憶體,不需要使用返回的字串時,需要用free 釋放相應的記憶體空間,否則會造成記憶體洩漏。返回值 返...