在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專(zhuān)欄

            EEPW首頁(yè) > 博客 > strcpy和strdup比較和詳解

            strcpy和strdup比較和詳解

            發(fā)布人:電子禪石 時(shí)間:2021-06-16 來(lái)源:工程師 發(fā)布文章

            strcpy和strdup比較和詳解

            函數(shù)和功能描述:

            ①extern char *strdup(char *s);


            頭文件:string.h


            功能: 將串拷貝到新建的位置處


            說(shuō) 明:strdup不是標(biāo)準(zhǔn)的c函數(shù)。strdup()在內(nèi)部調(diào)用了malloc()為變量分配內(nèi)存,不需要使用返回的字符串時(shí),需要用free()釋放相應(yīng)的內(nèi)存空間,否則會(huì)造成內(nèi)存泄漏。

            返回值:返回一個(gè)指針,指向?yàn)閺?fù)制字符串分配的空間;如果分配空間失敗,則返回NULL值。


             // strdup.c


            #include <syslib.h>


            #include <string.h>


            main() 



             char *s="Golden Global View";


            char *d;


             d=strdup(s);


            printf("%s",d);


            return 0;


            }


            ②char *strcpy(char* dest, const char *src);


            頭文件:#include <string.h>和 #include <stdio.h>


            功能:把從src地址開(kāi)始且含有NULL結(jié)束符的字符串復(fù)制到以dest開(kāi)始的地址空間


            說(shuō)明:strcpy是標(biāo)準(zhǔn)的C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)。src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串。


            返回值:返回指向dest的指針。


             舉例:


             // strcpy.     


                  #include <syslib.h>


             #include <string.h>     


             main()


              {        


            char *s="Golden Global View";


            char d[20]; 


            printf("%s",d);       


             return 0;    


              }


            總結(jié):

            1.strdup不是標(biāo)準(zhǔn)的c函數(shù),strcpy是標(biāo)準(zhǔn)的c函數(shù),使用時(shí)注意場(chǎng)合。

            2.strdup可以直接把要復(fù)制的內(nèi)容復(fù)制給沒(méi)有初始化的指針,因?yàn)樗鼤?huì)自動(dòng)分配空間給目的指針,strcpy的目的指針一定是已經(jīng)分配內(nèi)存的指針。

            3.strdup用完要free()函數(shù)釋放內(nèi)存,否則內(nèi)存泄露 。

            4.使用strcpy必須事先確定src大小,可以先strlen判斷src的大小,之后為dest申請(qǐng)空間,之后再strcpy就不會(huì)有問(wèn)題了。

            ————————————————


            原文鏈接:https://blog.csdn.net/koozxcv/article/details/49306751


            *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



            關(guān)鍵詞: strdup

            技術(shù)專(zhuān)區(qū)

            關(guān)閉