1. 程式人生 > 其它 >關於memset 初始化陣列

關於memset 初始化陣列

技術標籤: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快了將近一倍。