指针 与 数组

  (1)float(**def)[10]

    def是一个二级指针,它指向的是一个一维数组的指针,数组的元素都是float

  (2)double*(*gh)[10];

gh是一个指针,它指向一个一维数组,数组元素都是double*

  (3)double(*f[10])();

f是一个数组,元素都是函数的指针,指向的函数类型是没有参数且返回double的函数;

即:typedef double (*PFV)();    PFV  f[10];   

  (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)

5int a[9]; int *p; p=a;请问下面哪一个不能表示a[1]

A.p+1; B.p++; C.a++; D.a+1

分析;数组名a代表数组的首地址,是一个常量指针,所以其内容是不能修改的。即C错误。

6指针数组是指一个数组里装着指针;

   数组指针是指向数组的指针,它是一个指针,指向整个数组。

原文地址:https://www.cnblogs.com/shangbolei/p/5242387.html