比如定义一个数组int s[50],让s[50]内没有值。
2 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
C++中定义一个数组,没有绝对空的概念。
因为,定义数组后,系统就会给数组分配内存空间,该空间可能以前被其它程序使用过,其中留有原来写入的数据(对于本程序来说,就是垃圾数据),也可能没有被使用过,其内存数据值为0.
如果想在定义数组后,将数组内容清为0,则可以采用以下三种方法:
初始化为0
1 | int arr[10]={0}; //该语句置第一个元素为0,其余元素系统自动清为0. |
手工逐个元素置0
123 | int arr[10]; //只定义,未初始化 for ( int i=0;i<10;i++ ) //采用循环遍历数组,逐位赋值为0 a[i]=0; |
采用memset()函数置数组元素为0
123 | #include <string.h> //memset()函数头文件 int arr[10]; //只定义,未初始化 memset ( arr, 0, sizeof (arr) ); //memset函数,将从arr开始的sizeof(arr)个字节置为0 |
- 2 回答
- 0 关注
- 1623 浏览
添加回答
举报
0/150
提交
取消