1.出现除以0现象
2.数组越界
int a[10];
a[100] = 66;
3.指针越界
int *p;
p=(int*)malloc( 10*sizeof(int) );
*(p+100)=10;
或:
p = new int[10];
*(p+100) = 66;
4.使用已经释放的空间
int *p;
p=(int*)malloc( 10*sizeof(int) );
free(p);
*p=66;//错误
p = new int[10];
delete []p;//已释放空间
*(p+100) = 66;
5.数组开得太大,超出了栈的范围,造成栈溢出(不同编译器栈的范围不同)(数组尽量定义为全局变量)
int a[5000 000 000];