c++语言中memset函数怎么用?
来源:网络收集 点击: 时间:2024-02-27该函数语法:
void * memset ( void * ptr, int value, size_t num );
ptr指的是指向内存块的指针。value指的是内存块被设定的数值的大小。size_t num指的是内存块的大小。

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

数组的初始化:
对于数组a的初始化:memset(a,0,size)。表示把数组a中的所有元素设置成0.
#includestring.h
#includeiostream
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;in;i++)
couta ;
}

将上述使用memset初始化数组之后的数组打印出来的结果为:
0,0,0
符合预期

注意:
对数组a进行初始化时,表达式memset(a,0,size)中的size指的是数组所占内存的大小,而不是数组中元素的个数。
下面这个是错误的示例:
#includestring.h
#includeiostream
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;in;i++)
couta ;
}

错误示例的输出:
0,2,3,4
它并没有将所有的项都初始化,只对第一个数进行了初始化。应为int类型所分配的空间是4字节。

如果对您有帮助请点个赞吧
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_157695.html