C memset函式用法理解

2021-10-19 13:19:43 字數 999 閱讀 3485

void * memset ( void * ptr, int value, size_t num );

函式解釋:將ptr中當前位置後面的num個位元組 用 value 替換並返回 ptr 。

理解memset的填充方式為按位元組(byte)填充。

memset會擷取value的最後乙個byte填入到ptr的每乙個位元組中。

例如對 int型別陣列 arr 進行初始化:

memset(arr, 1, sizeof(arr));

這裡的value為十進位制的1,轉換為二進位制為0000 0001(因為1byte 有 8bit),1個int型別變數有4個位元組,memset會對每乙個位元組填充為0000 0001,所以陣列中的每個元素的二進位制為0000 0001

0000 0001

0000 0001

0000 0001,即十進位制為16843009

當value為0x7f時,每乙個位元組為0x7f,陣列中的每個元素的十六進製制為0x7f7f7f7f,即十進位制的2,139,062,143

運用value ==0時, int型別變數值為0value ==0xff(十進位制為255)時,int型別變數值為-1value ==0x3f(十進位制為63)時, int型別變數值為1,061,109,567value ==0x7f(十進位制為127)時, int型別變數值為2,139,062,143

Python split 函式的用法理解

url path url.split 1 print path 輸出結果為 image01.jpg split 拆分字串,通過指定分隔符對字串進行切片,並返回分割後的字串列表 list 語法 str.split str num string.count str n 引數說明 str 表示為分隔符,預...

map用法理解

經常會遇到這樣乙個面試題 1 2 3 map parseint map方法返回乙個由原陣列中的每個元素呼叫乙個指定方法後的返回值組成的新陣列。你可能覺的會是 1,2,3 但實際的結果是 1,nan,nan 通常使用parseint時,只需要傳遞乙個引數.但實際上,parseint可以有兩個引數.第二...

xargs 用法理解

原來一直不理解,linux shell下 xargs和 管道的區別 1 管道在linux shell用得比較廣泛,管道常常用來組合兩個及以上的命令,共同完成乙個功能 比如 我們要統計某乙個檔案有多少行 cat temp subnet 172 2.txt wc l 為了完成這個功能,我們用到了兩個命令...