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

2025-10-25 11:46:20

1、该函数语法:

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

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

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

2、头文件引用

如果想要使用该函数必须要引用头文件:#inlcude<string.h>

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

3、数组的初始化

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

#include<string.h>

#include<iostream>

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<n;i++)

      cout<<a[i]<<" ";

}

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

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

0,0,0

符合预期

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

5、注意:

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

下面这个是错误的示例:

#include<string.h>

#include<iostream>

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<n;i++)

      cout<<a[i]<<" ";

}

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

6、错误示例的输出:

0,2,3,4

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢