您可以告訴我在函數中的指針之間進行相等時出現什麼問題。讓我們來看看這個例子:函數中的指針之間的相等性C++
void fun(int *array1)
{
int array2[5];
for(int i=0;i<5;i++)
{
array2[i]=3;
}
array1=array2;
}
int main(){
int x[5]; int n=5;
for(int i=0;i<5;i++){
x[i]=i; // --------> x[i]=i;
}
fun(x); //--------> x[i]=3
for(int i=0;i<5;i++){
cout<< x[i]<<" "; //-------> x[i]=i?????????? I expected x[i]=3;
}
return 0;
}
你不能像這樣分配數組(你正在做的是將array1指向一個臨時數組;它不會影響x)。只需在fun的循環中使用array1(我將大小傳遞給函數,而不是硬編碼,即5)。 – 2013-02-19 00:50:22
@Peter Huene爲什麼不寫答案? – qPCR4vir 2013-02-19 00:53:14
呃,懶惰:)另外,我喜歡給別人簡單點。 – 2013-02-19 00:53:41