编程是两队人马在竞争:软件工程师努力设计出最大最好的连白痴都会使用的程序;而宇宙在拼命制造最大最好的白痴。到目前为止,宇宙是胜利者。
——Rick Cook
欢迎回来!准备好面对该系列中最精彩的一步了吗?我想你既然已经点开了,就无须再回答这个问题了。来看看我们今天的主角:
函数指针
这可谓是整个C语言中最令人头疼、最难以捉摸——同时也是最令人激动和最为锋利的武器了:顾名思义,函数指针就是创建一个指向某个地址的指针,唯一不同的是,这个地址是代码段中的。
是不是有点糊涂了?别急,让我们先回顾一下指针最基本的一个重点:
指针标识符(*)是修饰变量名,而非类型的
这句话在我们接下来的讨论当中将是你保持思想清明的最大依仗,记住了吗?让我们继续吧:
类型声明
要说函数指针和普通指针最大的差异在哪里,那首先要当属声明的方式不同了,当普通指针长成这样的时候
int a=0,*intPtr;
printf("%d",*intPtr);
函数指针却长成这样