用memset对非字符型数组初始化可能会出现错误
2015-05-18 14:26
393 查看
功能:memset是对一个一个的字节进行初始化。
有可能出错的地方: 如果对int数组进行初始化为非0的整数,会出现错误,如:
有可能出错的地方: 如果对int数组进行初始化为非0的整数,会出现错误,如:
memset(arr, 1, sizeof(int)*length)每个数都被初始化为00000001 00000001 00000001 00000001。而不是1
#include<iostream> #include<algorithm> #include<iterator> #include<memory.h> using namespace std; void updateArray(int arr[], const int& length) { int index = 2; int value = 3; arr[index] = value; // *(arr+index) = value; // *(arr+index)++; } int main() { const int length = 6; int arr[length]; memset(arr, 0, sizeof(int)*length); updateArray(arr, length); copy(arr, arr+length, ostream_iterator<int>(cout, " ")); cout<<endl; return 0; }
相关文章推荐
- 字符串数组初始化0 与memset 0 效率的分析
- MPI中可能会出现的错误
- com.alibaba.fastjson JSONObject toJSONString 时出现数组转换错误
- 用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误
- char*动态数组用c++ifstream和ofstream进行文件读写并用memset初始化
- 《java编程思想》(第四版)第163页提醒:可能会出现的初始化灾难!
- fill和memset 数组填充跟数组初始化
- Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
- 字符串数组未初始化的错误形式
- 复制过程中出现错误,修改标识,避免重新初始化
- memset()不能对整形数组初始化
- 数组操作中出现的 两种错误
- 由数组未初始化引起PHP脚本出现内存不足 PHP Fatal error: Allowed memory size of
- 反序列化时出现“base-64 字符数组的无效长度”错误提示的解决
- 解决SSh中公共Dao使用泛型且Dao层无其他Dao,Service直接继承公共Dao,部署到tomcat可能会出现的错误。
- TDSSNIClient 初始化失败,出现错误 0x7e,状态代码 0x60
- memset 数组初始化
- 使用sort方法对数组进行排序(split()出现错误的解决)
- Visual Studio 2010安装后出现“未能初始化‘新建项目’”错误
- SQL无法启动-TDSSNIClient 初始化失败,出现错误 0x277a,状态代码 0xa