理解指针数组数组指针函数指针函数指针数组指向函数指针数组的指针

xiaoxiao2021-02-28  25

1.指针数组:指针数组是数组,是一个存放指针的数组。

例:int *arr1[10] ;整型指针数组    char *arr2[4] ;字符指针数组     char **arr3[5] ;二级指针数组

2.数组指针:是指针。(数组的地址)。指向数组。给数组指针+1,指向所指向数组的大小。

例:int (*p)[10]整型数组指针。解释:p和*先结合,说明p是一个指针变量,然后指针指向是一个大小为10个整型的数组。所以p是一个指针,指向一个数组,叫数组指针。

注意:[ ]的优先级高于*号,所以必须加上()来保证p和*先结合。

3.函数指针:用来保存函数地址,该函数可以是函数名,也可以是对该函数取地址。

例:void (*pfun1)( );指向返回值为空的函数指针。解释:pfun1可以存放。pfun1先和*结合,说明pfun1是 指针, 指针指向的是一个函数, 指向的函数无参数,返回值类型为void。

  void *pfun2();是一个函数

注意:()的优先级高于*

4.函数指针数组:把函数的地址存放到一个数组中,那这个数组就叫函数指针数组。

例:int (*parr1[10]) ( ); 解释:parr1先和[ ]结合,说明parr1是数组,数组的内容是int (*)( )类型的函数指针。

5.指向函数指针数组的指针:指向函数指针数组的指针是一个指针,指针指向的是一个数组,数组的元素都是函数指针。

例:void (*(*parr2)[10])( );

转载请注明原文地址: https://www.6miu.com/read-2630746.html

最新回复(0)