1. 程式人生 > >memset使用技巧

memset使用技巧

strong 數組 eof 負數 post style img blog com

memset可以對高位數組進行初始化,非常方便。需要註意的是memset的頭文件是string.hmemory.h

下面來談memset的4個使用技巧:

(註:一下dp高維數組都是全局變量,局部變量請自行修改sizeof語句)

1. 用memset賦 0

memset(dp,0,sizeof(dp));

2. 用memset賦 -1

memset(dp,-1,sizeof(dp));

在計算機中,數據用補碼保存。-1的補碼(32位)是0xFFFFFFFF,(8位,一個字節)是0xFF,memset是按字節填充的,所以不影響賦值的真實性。

3.用memset賦 INF

memset(dp,127
,sizeof(dp));

127用8位二進制數表示是0b01111111:

技術分享圖片

用四個0b01111111填充到一個32位的int中:

技術分享圖片

得到了一個接近32位無窮大(0x7FFFFFFF=2147483647)的數。

4.用memset賦 - INF

memset(dp,-127,sizeof(dp));

-127用補碼表示是 0b10000001 ,用4個 0b10000001 填充到int中:

技術分享圖片

得到了一個絕對值非常大的一個負數

memset使用技巧