【发布时间】:2014-12-13 02:20:50
【问题描述】:
为什么我不能使用 [ ][ ] 访问 Lattice 而不会引发 seg 错误?
int *LatticeHeight;
int **Lattice;
LatticeHeight = (int*)malloc(Height*sizeof(int));
Lattice = (int**)malloc(Length*sizeof(LatticeHeight));
for(i=0;i<Height; i++)
{
for(j=0; j<Length; j++)
{
Lattice[j][i] = 0;
}
}
我将其解释为;
我的指针指向高度的一维数组
然后我设置 Lattice 以便可以存储 LatticeHeight 的 Length-many 副本(制作网格)
然后我访问晶格的每个元素并将其值设置为 0
此外,有人可以解释为什么这在 1D 中有效,但在 2D 中无效,即
for(i=0;i<Height;i++)
{
LatticeHeight[i] = 0;
}
不抛出段错误
【问题讨论】:
标签: c arrays pointers segmentation-fault