關於memset 初始化陣列
阿新 • • 發佈:2021-02-17
技術標籤:c++
關於memset 初始化陣列
定義
memset是計算機中C/C++語言初始化函式。作用是將某一塊記憶體中的內容全部設定為指定的值, 這個函式通常為新申請的記憶體做初始化工作。
基本語法
#include<cstring>
int a[10];
memset(a, 0, sizeof a);
作用
- 用於記憶體空間初始化。
- 用來對一段記憶體空間全部設定為某個字元,一般用在對定義的字串進行初始化。(上例中int型別佔32個bit,8個一組,memset將其中的二進位制編碼全部轉換為0.)
特點
- 速度快。
int a[10000000]; for(int i=0; i<10000000; i++) a[i]=-1;
for迴圈初始化陣列所需的時間為:
int a[10000000];
memset(a, -1, sizeof a);
memset僅需:
除去程式本身不工作狀態下執行所需的時間,memset比for快了將近一倍。