(1),float(**def)[10];數組
def是一個二級指針,它指向的是一個一維數組的指針,數組的元素都是float;函數
(2),double*(*gh)[10];spa
gh是一個指針,它指向一個一維數組,數組元素都是double*;指針
(3),double(*f[10])();float
f是一個數組,元素都是函數的指針,指向的函數類型是沒有參數且返回double的函數;im
即:typedef double (*PFV)(); PFV f[10]; di
(4),int *((*b)[10]);錯誤
與int* (*b)[10]同樣,b是一維數組的指針,數組元素都是int*;參數
(5),long (*fun)(int);
函數指針
(6),int (*(F)(int, int))(int);
F是一個函數指針,指向的函數類型是有兩個int參數而且返回一個函數指針的函數,返回的函數指針指向一個int參數且返回int的函數。即:
typedef int (*func)(int);
func F(int, int);
5,int a[9]; int *p; p=a;請問下面哪個不能表示a[1]?
A.p+1; B.p++; C.a++; D.a+1;
分析;數組名a表明數組的首地址,是一個常量指針,因此其內容是不能修改的。即C錯誤。
6,指針數組是指一個數組裏裝着指針;
數組指針是指向數組的指針,它是一個指針,指向整個數組。