趕快加入我們來參與討論吧!
您需要 登錄 才可以下載或查看,沒有帳號?加入我們
x
參考資料:
http://www.cplusplus.com/reference/cstring/memset/
http://jax-work-archive.blogspot.tw/2011/07/c-memset.html
標頭 cstring
函數原型: void * memset ( void * ptr, int value, size_t num );
功能:可以快速設定一個連續的記憶體區塊(ex.陣列)的數值
參數說明:
ptr:作用對象的指標
value:欲初始化的值
num : 填充數量
回傳值:
ptr本身
常見用法:
1.把陣列所有元素都設定為0。
在這範例裡,我們使用sizeof()運算子直接取得陣列所佔的記憶體大小。
[C++] 純文本查看 復制代碼 #include<iostream>
#include<cstring>
using namespace std;
int main()
{
int arr[5]= { 1,2,3,4,5 };
memset( arr , 0 , sizeof(arr) );
//sizeof(arr) = sizeof(int)*5
for(int i=0;i<5;++i)
{
cout<<arr[i]<<' ';
}
}
要注意,填充的單位為「位元組」,所以在這裡的sizeof(arr)不等於5,而是等於5乘以每一個int所佔的位元組。
再這種用法中除了0之外,常用的還有-1,0x3F,0x7F,後兩個通常用來代表初始化為無限大
|