使c++程序奔溃的原因总结:
- 空指针
void emptyPointer()
{
cout << __FUNCTION__ << " " << __LINE__ << endl;
int* p = NULL;
*p = 5;
cout << *p << endl;
}
2. 数组越界
void ArrayBounds()
{
cout << __FUNCTION__ << " " << __LINE__ << endl;
int array[5] = { 0 };
for (int i = 0; i < 5; ++i)
{
array[i] = i;
}
for (int i = 0; i < 6; ++i)
{
cout << array[i] <<endl;
}
}
3. 除数为零
void DivideByZero()
{
cout << __FUNCTION__ << " " << __LINE__ << endl;
int a = 8;
for (int i = 5; i > -1; --i)
{
printf("array[%d]=\n", array[i]);
int b = a / i;
cout << b << endl;
}
}
4. 野指