配列は参照によって渡されます。関数内の配列に加えられた変更はchangeArray
、呼び出しスコープ (main
ここでは関数) で観察されます。
ただし、以下のコード0 1
は 1 番目cout
に2
出力され、2 番目の「cout」に出力されます。私が理解していないのは、最初に の変更された値ではなくcout
元の値を出力する理由です ?array[0]=1
array[0]=2
どうもありがとう。
#include <iostream>
using namespace std;
int changeArray(int array[]) {
array[0]=2*array[0];
return 0;
}
int main() {
int array[]={1,2,3,4};
cout << changeArray(array) << " " << array[0] << endl;
cout << array[0] << endl;
return 0;
}