答案:B
解析:
a是數組首元素的地址,a+1的步長是int,所以是2
&a是數組的首地址,&a+1步長是int[5]
ptr是int類型的指針,指向a數組的尾后位置,ptr-1的步長是int,所以是a數組的最后一個元素5
?
答案:B
解析:
int(*p)[4];------ptr為指向含4個元素的一維整形數組的指針變量(是指針)
int *p[4];-------定義指針數組p,它由4個指向整型數據的指針元素組成(是數組)
int(*)[4];--------實際上可以看作是一種數據類型。也就是第一個(int(*p)[4];)
?
答案:D
解析:
- 首先*s[10]? 是一個指針數組,s 是一個含有10個指針的數組,故可以這樣來看這條聲明語句:假設 p 等價于 s[10],聲明語句變為 int (*p)(int);
- 觀察 int (*p)(int), 從名字開始,p前面有一個 * ,因此 p 是指針,有側是形參列表,表示p指向的是函數,在觀察左側,函數返回的是 int;
- 則 int (*p)(int) 解讀為:函數指針,指向一個 int func(int param) 的函數;
- 故 int (*s[10])(int) :解讀為:函數指針數組,每個指針指向一個 int func(int param)的函數。
?