樓主希望通過庫函式memset()來對乙個陣列進行初始化,需要了解一下該函式的工作原理。庫函式memset()是針對位元組操作的,其中第二個引數值被賦給第乙個引數指向的記憶體位址開始的每乙個位元組,因此,這種初始化其實存在侷限性,也導致其主要用於清除陣列內容等。
比如:假設i=0,1,2,...memset(a,0,sizeof(a)); // 此時a[i]=0x00000000
memset(a,-1,sizeof(a)); // 此時a[i]=0xffffffff
memset(a,0x0f,sizeof(a)); // 此時a[i]=0x0f0f0f0f=252645135
由於500=0x1f4,400=0x190,因此,如果使用memset(a,0x190,sizeof(a)); // 此時a[i]=0x90909090
所以,初始化過程還是建議使用迴圈語句來做。
memset 函式用法
memset 原型 extern void memset void buffer,int c,int count 用法 include 功能 把buffer所指記憶體區域的前count個位元組設定成字元c。說明 返回指向buffer的指標。用來對一段記憶體空間全部設定為某個字元。舉例 char a ...
memset函式用法
將s所指向的某一塊記憶體中的每個位元組的內容全部設定為ch指定的ascii值,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作,其返回值為指向s的指標。在c中 or 在c 中 void memset void s,int ch,size t n 函式解釋 將s中前n個 位元組替換為...
memset函式用法
memset原型 please type man memset in your shell void memset void s,int c,size t n memset 作用是在一段記憶體塊中填充某個給定的值,它對較大的結構體或陣列進行清零操作的一種最快方法。常見的三種錯誤 第一 搞反了c 和 ...