很简单的程序,是这样的
int *Array1 = new int[10*sizeof(int)];
int *Array2 = new int[10*sizeof(int)];
for(int i=0; i<10; i++)
{
Array1[i] = i;
}
int*p1 = Array1;
int*p2 = Array2;
for(int i=0; i<10; i++)
{
*p2++ = *p1++;
}
将array1的值传递给array2,这样p1跟p2最终都将超越数组一个元素,请问这种现象会导致程序奔溃吗?
以前我通常是这样来实现的:
for(int i=0; i<9; i++)
{
*p2++ = *p1++;
}
p2=p2;
请问一般应该使用什么方法?
我的实际数组是三维的,所以用指针依次递增来索引数组应该比用各个维度相乘相加来计算索引要快。 |