memset 函式是記憶體賦值函式,用來給某一塊記憶體空間進行賦值的。
其原型是:void* memset(void *_dst, int _val, size_t _size);
使用時在檔案頭加上#include "stdlib.h" 。
_dst是目標起始位址,_val是要賦的值,_size是要賦值的位元組數。
例1:
char str[9];
我們用memset給str初始化為「00000000」,用法如下
memset(str,0,8);
注意,memset是逐字節 拷貝的。
下面再看乙個例子:
例2:
int num[8];
我們用memset給str初始化為,
memset(num,1,8);//這樣是不對的
乙個int是4個位元組的,8個int是32個位元組,所以首先要賦值的長度就不應該為8而是32。
因為memset是
逐字節拷貝,以num為首位址的8位元組空間都被賦值為1,
即乙個int變為0x00000001 00000001 00000001 00000001,顯然,把這個數化為十進位制不會等於1的。
0給主人留下些什麼吧!~~
memset函式用法及注意事項
memset 函式是記憶體賦值函式,用來給某一塊記憶體空間進行賦值的。其原型是 void memset void dst,int val,size t size 使用時在檔案頭加上 include stdlib.h dst是目標起始位址,val是要賦的值,size是要賦值的位元組數 例1 char ...
memset使用注意事項
linux下的原型宣告 name memset fill memory with a constant byte synopsis include void memset void s,int c,size t n description the memset function fills the ...
memset使用注意事項
linux下的原型宣告 name memset fill memory with a constant byte synopsis include void memset void s,int c,size t n description the memset function fills the ...