9.11 C 程序中常见的与内存有关的错误
9.11.1 间接引用坏指针
scanf("%d", &val)scanf("%d", val)9.11.2 读未初始化的内存
/* Return y = Ax */
int *matvec(int **A, int *x, int n)
{
int i, j;
int *y = (int *)Malloc(n * sizeof(int));
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
y[i] += A[i][j] * x[j];
return y;
}9.11.3 允许栈缓冲区溢出
9.11.4 假设指针和它们指向的对象是相同大小的
9.11.5 造成错位错误
9.11.6 引用指针,而不是它所指向的对象
9.11.7 误解指针运算
9.11.8 引用不存在的变量
9.11.9 引用空闲堆块中的数据
9.11.10 引起内存泄漏
最后更新于