demo
#include <stdio.h>
#include <iostream>
using namespace std;
void byValue(int array[6]) {
array[3] = 8;
}
void byAddress(int *array) {
array[3] = 18;
}
int main(){
//as表示数组的首地址,&as[0]表示数组的第一个元素的地址,因而as==&as[0]。
int as[] {1,2,3,4,5,6};
byValue(as);
// 8
cout << "array[3] = " << as[3] << endl;
byAddress(as);
// 18
cout << "array[3] = " << as[3] << endl;
byValue(&as[0]);
// 8
cout << "array[3] = " << as[3] << endl;
byAddress(&as[0]);
// 18
cout << "array[3] = " << as[3] << endl;
//as表示数组的首地址,&as[0]表示数组的第一个元素的地址,因而as==&as[0]。
cout << "as.address=" << as << endl;
cout << "&as[0].address=" << &as[0] << endl;
return 0;
}
输出
array[3] = 8
array[3] = 18
array[3] = 8
array[3] = 18
as.address=0x7ffeefbff4f0
&as[0].address=0x7ffeefbff4f0