解析指针数组,数组指针,函数指针,函数指针数组,指向函数指针数组的指针



有关指针、数组和函数的解析

  • 数组指针
    1. 存放数组地址的指针.(可通过指针+i访问数组内部元素)
    2. eg:    int a[4];

     int   (*pa) [4]=&a;         // 数组指针变量pa存放数组a的地址。

                             (注:下标运算符“[ ]”优先级高于指针运算符“ * ”,这是区分数组指针和指针数组的依据)

正如下图所示:pa指向数组a[4]

             

  • 指针数组
    1. 指针数组即数组内每个元素的内容都是地址
    2. eg:    int a; int b; int c;

    int * arr[3]={&a,&b,&c};                  //此表达式表示:定义一个数组arr,其有三个元素,且每个元素都是一个                                                                                                                 指向整型的指针。

正如下图所示:数组arr中每个元素类型均为int *,即:指向整型的指针。


              


  • 函数指针
    1. 存放函数地址的指针
    2. eg: void fun()

 {   printf("haha\n");   }

 void (*pfun) ()=&fun;   //定义函数指针pfun指向一函数,该函数的返回值为void,该函数参数列表为空。

  • 函数指针数组
    1. 该数组的每一个元素为函数的地址。
    2. eg: void fun1( ); void fun2( ); void fun3( );
void (*apfun[3])( )={&fun1,fun2,fun3}; //定义函数指针数组apfun,该数组有三个元素,其中每个元素内 容均为一个返回值为void,参数为空的函数的地址。
  • 指向函数指针数组的指针
    1. 该指针指向一个函数指针数组
    2. eg: void (*apfun[3]) ();
void (*(*papfun)[3])( )=&apfun; //定义了一个函数指针数组的指针papfun,其指向一个内部有三个元素,且这三个元素的内容为返回值为void,参数列表为空的函数的地址。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值