c語言之資料拷貝memcpy strcpy
strcpy和memcpy都是標準c庫函式,它們有下面的特點。
strcpy提供了字串的複製。即strcpy只用於字串複製,並且它不僅複製字串內容之外,還會複製字串的結束符。
已知strcpy函式的原型是:char* strcpy(char* dest, const char* src);
memcpy提供了一般記憶體的複製。即memcpy對於需要複製的內容沒有限制,因此用途更廣。
void *memcpy( void *dest, const void *src, size_tcount);
char
*
strcpy
(
char
* dest,
const
char
* src)
// 實現src到dest的複製
char
*strdest = dest;
//儲存目標字串的首位址
while
((*strdest++ = *strsrc++)!=
'\0'
);
//把src字串的內容複製到dest下
return
strdest;
}
void
*
memcpy
(
void
*memto,
const
void
*memfrom,
size_t
size)
strcpy和memcpy主要有以下3方面的區別。
1、複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列、整型、結構體、類等。
2、複製的方法不同。strcpy不需要指定長度,它遇到被複製字元的串結束符"\0"才結束,所以容易溢位。memcpy則是根據其第3個引數決定複製的長度。
3、用途不同。通常在複製字串時用strcpy,而需要複製其他型別資料時則一般用memcpy
C語言之資料儲存
c語言中沒有字串型別 void 型別可以儲存位址,但不能進行解引用 數字.字元在記憶體中儲存,以補碼的形式儲存 答 由於暫存器寬度大於乙個字 節,那麼必然存在著乙個如果將多個位元組安排的問題 判斷大小端 int islitte 是小端返回1,否則返回0 int islitte1 uu uu.a 0x...
C語言之資料型別
恢復內容開始 在c語言中我們的資料型別分為以下幾大類 1 基本資料型別 int,float,double,char,bool c99中新加的 列舉enum 很多朋友對於enum被定義為是基本型別可能會有些迷惑,但是我們都知道列舉型別的特殊之處就是總能把資料變化為整形資料,我們可以認為列舉就是一種特殊...
C語言 C語言之continue
c語言迴圈 c 語言中的continue語句有點像break語句。但它不是跳出該迴圈語句,continue是跳過本次迴圈直接開始下一次迴圈的。在for迴圈裡,continue會跳過本次迴圈,但是自增語句仍然會執行,而在while和do while語句裡嘖是跳過迴圈重新執行判斷語句 課堂作業內容為 輸...