memset函数的操作
memet的解釋
memset函數適用于C/C++語言中
memset()函數的頭文件是<string.h>
memset(void *s,int ch,size_t n); 表達式
memset()不但可以用來初始化字符數組也可以初始化整數數組。
memset()函數的主要作用是為新申請的內存空間,做初始化工作,將某一塊內存中的內容全部設置為指定的值。
代碼1:
#include<stdio.h> #include<string.h>int main() {int arry[10] ;memset(arry, 0, 10 * 4);for (int i = 0; i < 10; i++) {printf("%d", arry[i]);}printf("\n");return 0; }結果:
注意:當你想這個數組全部初始化時可以把memset(arry,0,10*sizeof(int))改為memset(arry,0,sizeof(arry)),輸出結果一樣。
批量更改數組前面的值
代碼2:
結果:(數組前9個值都化為0)
注意:memset(arry,0,9*sizeof(int))是從第一個數組開始賦值的。
字符串數組
代碼3:
結果:
附加:
memset()用來初始化數組時候,初始化的值一般為 0或者 -1,而字符串數組可以定義很多其他值。因為這與memset()函數是以一個字節為單位進行賦值的,字符串數組單個字符只占據內存一個字節(1 Byte)。
一個字節(1 Byte) = 八個比特(8 Bite)
例如:
memset給數組賦值 0。
00 00 00 00 這時memset一個字節
那么數組int 類型占4個字節,一個數組的值就為 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 。這個int 類型的二進制轉十進制輸出就為 0。
memset給數組賦值 -1。
11 11 11 11 這時memset一個字節
那么數組int 類型占4個字節,一個數組的值就為 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 。這個int 類型的二進制轉十進制輸出就為 -1。
memset給數組賦值 1。
00 00 00 01 這時memset一個字節
那么數組int 類型占4個字節,一個數組的值就為 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 。這個int 類型的二進制0000001000001000001000001轉十進制輸出就為 16843009。
總結
以上是生活随笔為你收集整理的memset函数的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NVIDIA显卡硬编码调研
- 下一篇: 【云原生之Docker实战】使用dock