阵列分配问题
Issue with Array assignment
我在输出数组时遇到问题。当我在没有for
循环的情况下输出每个元素时,程序运行良好。当我尝试使用 for
循环输出时,程序在我第一次在数组中设置元素时崩溃。我已经标记了当我取消注释掉for
循环时程序崩溃的行。我的排序似乎工作正常,并且程序在此之前崩溃了,所以我很确定这不是问题所在。知道为什么第二个for
循环会在指定行处使程序崩溃吗?
int main()
{
int* Array;
int j = 5;
for(int i=0; i<5; i++)
{
Array[i] = j; //Crashes here with 2nd for loop uncommented
cout << Array[i] << endl;
j--;
}
Array = insertion_sort(Array);
cout << Array[0] << endl;
cout << Array[1] << endl;
cout << Array[2] << endl;
cout << Array[3] << endl;
cout << Array[4] << endl;
/*for(int k=0; k <5; k++)
{
cout << Array[k] << endl;
}*/
}
在初始化指针之前访问指针。你应该改变
int* Array;
自
int* Array = new int[5]; // There are 5 ints in my array
并确保
delete[] Array;
最后,甚至更好:
int Array[5]; // This way you don't need the new keyword, so you won't need to delete[] later
现在,您的数组未实例化。这只是一个指针。您需要选择所需的数组大小,然后才能开始写入它。
int* Array = new int[5];
int j = 5;
for(int i=0; i<5; i++)
{
Array[i] = j; //Crashes here with 2nd for loop uncommented
cout << Array[i] << endl;
j--;
}
相关文章:
- 在c++中使用动态分配的问题
- C++中的移动分配出现问题.非法指令: 4.
- 在函数中分配内存时出现问题
- 使用同一类中的方法重新分配字段时出现问题
- 使用 NTAllocateVirtualMemory 和 GetProcAddress 的内存分配问题不起作用
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- 使用 Libssh 将文件从服务器复制到客户端:分配文件复制目标路径时出现问题
- C++ DLL 堆内存分配问题
- 分配具有主参数类型的数组时出现问题
- 在C 中动态分配的内存的问题
- 未分配正在释放的指针 - 指针问题
- 使用STD :: MAP在数据及其性能问题中查找重复项.我可以预先分配吗?
- 单链表分配问题 (nullptr)
- C++函数问题中的数组分配
- 复制到新阵列时出现动态内存分配问题
- 我不知道为什么会发生堆损坏(关于内存分配问题)
- QFILE INIT/分配OP问题当对象是类成员时
- 使用队列和列表 STL 进行C++分配。在将数据填充到列表或队列中然后打印该数据时遇到问题
- C++内存管理问题(分配大量内存,但从不释放内存)
- 有问题分配字符串指针字符串值