您的位置首页百科问答

c++语言中memset函数怎么用

c++语言中memset函数怎么用

的有关信息介绍如下:

c++语言中memset函数怎么用

在c++ 语言中,memset函数是一个非常重要的初始化函数,他可以将指针所指向的一大块连续内存设置成一个指定的数值,非常方便实用。那么,下面,小编将教大家如何使用memset进行初始化变量

该函数语法:

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

ptr指的是指向内存块的指针。value指的是内存块被设定的数值的大小。size_t num指的是内存块的大小。

头文件引用:

如果想要使用该函数必须要引用头文件:#inlcude

数组的初始化:

对于数组a[]的初始化:memset(a,0,size)。表示把数组a中的所有元素设置成0.

#include

#include

using namespace std;

int main()

{

int a[]={1,2,3};

int n=sizeof(a)/sizeof(int);

//initial the array

memset(a,0,sizeof(a));

//print the array

for(int i=0;i

cout<

}

将上述使用memset初始化数组之后的数组打印出来的结果为:

0,0,0

符合预期

注意:

对数组a[]进行初始化时,表达式memset(a,0,size)中的size指的是数组所占内存的大小,而不是数组中元素的个数。

下面这个是错误的示例:

#include

#include

using namespace std;

int main()

{

int a[]={1,2,3,4} ;

int n=sizeof(a)/sizeof(int );

//initial the array

memset(a,0,n);

//print the array

for(int i=0;i

cout<

}

错误示例的输出:

0,2,3,4

它并没有将所有的项都初始化,只对第一个数进行了初始化。应为int类型所分配的空间是4字节。