为什么我不能使用[] []来访问莱迪思而不引发seg故障?在二维点阵中访问元素C
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;
}
}
我将其解释为;
我有指针高度
的一个维阵列。然后我设置格子使得可以存储LatticeHeight的长度 - 许多拷贝(使网格)
然后我访问晶格的每个元素并设置它的值设置为0
而且有人能解释为什么这THR工作在1D但不是在2D,即
for(i=0;i<Height;i++)
{
LatticeHeight[i] = 0;
}
不ow a seg fault
“高度”是行数,而“长度”是列数是用C通常的惯例,我建议采用它可以防止任何人在项目中工作:) – 2014-12-13 03:39:24