memset函式注意事項

2021-07-28 18:16:22 字數 644 閱讀 7610

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 ...