C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指针变量”。

函数指针变量定义的一般形式为:
    类型说明符  (*指针变量名)();
其中“类型说明符”表示被指函数的返回值的类型。“(* 指针变量名)”表示“*”后面的变量是定义的指针变量。最后的空括号表示指针变量所指的是一个函数。例如:
    int (*pf)();
表示pf是一个指向函数入口的指针变量,该函数的返回值(函数值)是整型。

在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。定义指针型函数的一般形式为:
    类型说明符 *函数名(形参表) { 
        /*函数体*/
    }

一个数组的元素值为指针则是指针数组。 指针数组是一组有序的指针的集合。 指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。指针数组说明的一般形式为:
    类型说明符 *数组名[数组长度]
其中类型说明符为指针值所指向的变量的类型。例如:
    int *pa[3]
表示pa是一个指针数组,它有三个数组元素,每个元素值都是一个指针,指向整型变量。

指针数组也常用来表示一组字符串,这时指针数组的每个元素被赋予一个字符串的首地址。指向字符串的指针数组的初始化更为简单。例如在例10.32中即采用指针数组来表示一组字符串.

最新文章

  1. C和指针 第十六章 标准函数库
  2. swift 中数据类型那个的转换
  3. 【C语言学习】《C Primer Plus》第3章 数据和C
  4. angular学习的一些小笔记(中)之ng-disabled轻松实现按钮是否可点击状态
  5. JAVA线程同步辅助类CountDownLatch
  6. 创建链接服务器(dblink)
  7. [转]Java FileInputStream与FileReader的区别
  8. linux下如何不编译opencv的某些模块
  9. C#总结项目《影院售票系统》编写总结一
  10. JS获取浏览器型号
  11. Chapter 1 First Sight——2
  12. paramiko 模块安装
  13. bootsect及setup
  14. LOJ#3043.【ZJOI2019】 线段树 线段树,概率期望
  15. 最佳sql server 分页查询
  16. 剑指Offer-- 二叉搜索树的第K个结点
  17. 安卓创始人计划推出能帮你约会的AI手机
  18. js点击显示隐藏
  19. [剑指Offer]35-复杂链表的复制
  20. 百度编辑器UEditor源码模式下过滤div/style等html标签

热门文章

  1. python编程之处理GB级的大型文件
  2. op+3g
  3. BZOJ2754: [SCOI2012]喵星球上的点名
  4. Linux企业级项目实践之网络爬虫(19)——epoll接口
  5. Jtree (节点的渲染+资源管理器)
  6. python3-day3(内置函数)
  7. 【css3+JavaScript】:一个优雅的对话框
  8. 浅谈管道模型(Pipeline)
  9. 关闭归档提示:ORA-38774: cannot disable media recovery - flashback database is enabled
  10. ORACLE查看数据文件-控制文件-日志文件-表空间信息