C和指针 第十三章 高级指针话题

Posted 日拱一卒,功不唐捐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C和指针 第十三章 高级指针话题相关的知识,希望对你有一定的参考价值。

高级声明:

int (*f)();

这里声明有两个括号,第二个括号是函数调用,第一个括号是聚组作用。(*f)是一个函数,所以f是指向返回整型的函数的指针。程序中的每个函数都位于,内存中某个位置,所以存在指向那个位置的指针。

int *f[];

下标的优先级高,所以f是个数组,数组中元素为指向int的指针。

int (*f[])()

首先按照优先级进行分析,括号内(*f[])先求值,所以*f[], f是数组,数组元素是指向某种类型的指针,结合外面的看,f是一个数组,数组元素是指向返回int类型的函数的指针。

函数指针:

指针在使用前需要进行初始化,对于函数指针,访问前需要初始化为指向摸个函数。

int fuc(int);

int (*fPtr)(int) = &fuc;
//在函数初始化之前需要具有fuc的原型,否则,编译器无法检查fuc的类型是否与fPtr一致。

  

以上是关于C和指针 第十三章 高级指针话题的主要内容,如果未能解决你的问题,请参考以下文章

C和指针 第十三章 习题

《C++Primer(第5版)》第十三章笔记

cpp(第十三章)

C++Primer 第十三章

《汇编语言 基于x86处理器》第十三章高级语言接口部分的代码 part 1

C++学习目录