#include <iostream>
#include <cstring>
using namespace std;
void myFun(int a[]);
int main()
{int a[10];cout<<"aaa"<<sizeof(a)<<endl;//40 int為4,a為10個int,故為40cout<<"yy"<<sizeof(int)<<endl;//int占4個字節,結果為4memset(a, 0, sizeof(int)*10);//等價于memset(a, 0, 40),memset針對的是字節cout<<"bbb"<<sizeof(a)<<endl;//myFun(a);return 0;
}
void myFun(int a[])//這里的形參其實就是數值的首地址,int a[0]等價
{cout<<"ccc"<<sizeof(a)<<endl;//形參傳入的只是數組的首地址,也就是a[0]一個int型而已,故答案為4}
當將數組名a作為實參傳遞給函數myFun中形參后,兩個輸出不相等,是因為h函數myFun中形參a是數組a的首地址,此處形參h還可以寫成void myFun(int a[0])