C++篇 memset() 函数 数组初始化

发布时间:2023年12月26日
#include<cstring>
int a[1024];
memset(a,1,sizeof(a));

a数组元素值将全部初始化为16843009,为什么会这样呢?

memset()函数原理是对内存块中字节元素进行初始化,上述代码中每字节将初始化为十六进制下ox01,(1字节=8bit? ox01=0000 0001),int类型为4字节(32bit),故a[i]=ox01 01 01 01转化为十进制为16843009。

所以我们在使用memset()函数时通常将初始化值设为0,即

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

即使经过计算机内部硬件转化 初始化仍未0。(ox00 00 00 00 == 0)

文章来源:https://blog.csdn.net/qq_60245590/article/details/135219166
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。