指针的高级应用

int* f,g;
他并没有声明两个指针,尽管他们之间存在空白,但星号只做用于f,f指针,g只是一个普通的整形变量。
int *f( )
他表示f是个函数,他的返回值类型是一个指向整型的的指针。( )是函数调用操作符
int (*f) ( )
第二个括号是函数调用操作符,第一个括号只起到聚组作用,他迫使函数调用之前使f成为一个函数指针,它所指向的函数返回一个整形值。
int *(*f)( )
f是一个函数指针,只是所指向的返回值是一个整形指针;
int f[ ]
表示f是个整形数组
int *f[ ]
两个操作符,下标的优先级更高,所以f是一个数组,它的元素类型是指向整型的指针。
int (*f[ ])( )
f是一个元素为某种类型的指针的数组,末尾的括号是函数调用操作符,所以f一定是数组,数组元素的类型是函数指针,它所指向的函数的返回值是一个整形值。
int *(*f[ ])( )
这个声明创建了一个指针数组,指针所指向的类型是返回值为整形指针的函数。
函数指针的两个主要用途是转换表和作为参数传递给另一个函数‘。’
函数指针执行间接访问之前必须把它初始化为指向某个函数。
例如: int(*pf) (int)=&f;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值