字串的淺拷貝

2021-08-20 02:27:35 字數 940 閱讀 7338

字串的淺拷貝

先來一道例題ヾ(✿゚▽゚)ノ

#includeint main()

for(i=0;i<3;i++)

}

我們輸入的值為:「aaa」、「bbbbb」、「cccc」

我們希望的結果是「aaa」、「bbbbb」、「cccc」

然而...執行結果卻是...

這是為什麼呢o(゚д゚)っ!

這就引出了字串的淺拷貝問題啦

來乙個**,大家就比較好理解整個過程啦,最後也會給出正確的拷貝方法,大家也可以先仔細思考一下ヾ(゚∀゚ゞ)

可以發現每一次傳進arr中存的都是位址,每一次位址是一樣的因為buf只有乙個格仔,最後一次存的是「cccc」,所以很好理解為什麼最後的結果是三次「cccc」了,這就屬於字串的淺拷貝問題了,以下給出修改方法:

應該再申請乙個動態記憶體,去解決此問題

#include#include#includeint main()

for(i=0;i<3;i++)

for(i=0;i<3;i++)

}

執行結果截圖:

這就是這一部分的內容啦❤祝大家都能0 error(s),0 warning(s)ヾ(✿゚▽゚)ノ

C 字串淺拷貝和深拷貝 學習筆記

今天對c的淺拷貝和深拷貝進行學習,現分享學習心得。首先看下面的 執行結果如下圖 什麼?結果是ccc ccc ccc?為什麼不是aaa bbb ccc呢?這就是字串的淺拷貝。程式中arr是乙個長度為100的字元陣列 strarr是乙個長度為3,每個單元格存放這乙個字元指標的數字。i 0,程式進入第一次...

tieto字串拷貝

c實現記憶體拷貝以及字串拷貝函式 摘 收藏 i nclude i nclude i nclude void memmove kk void dest,const void src,size t count char strcpy kk char strdest,const char strsrc i...

字串拷貝函式

1.strcpy函式 顧名思義字串複製函式 一般函式原型實現方式 該函式的引數是字元指標,也就是可以是字串變數和字元陣列,因為它們的變數名代表首字元位址。字串預設有乙個null結束符,字元陣列沒有。所以此處需要注意 因為src要求有null結束符,所以字元陣列的長度必須大於等於src包含null結束...