一。用函数指针变量调用函数。

指针变量也可以指向一个函数,一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。

定义指向函数的方法,格式是:

int (*p)(int,int);     函数名代表函数入口地址,而max(a,b)则是函数调用。

二。返回指针值的函数

一个函数可以带回一个整数值、字符值、实型值等,也可以带回指针型的数据,即地址。其概念和以前类似,只是带回的值是指针类型而已。返回指针值的函数简称为指针函数。

定义指针函数的一版形式:

类型名  *函数名(参数列表);

例如:int *a(int x,int y);

a是函数名,调用它以后能得到一个指向整形数据的指针(地址)。x,y是函数a的形参,为整型。

注意:在*a的两侧没有括号,如果有括号就是指向函数的指针变量;在a的两侧分别为*运算符和()运算符,而()运算符优先于*,所以a先与()结合,这显         然就是函数,在函数前面有个*,表示此函数就是指针型函数(函数数值是指针)。最前面的int表示返回的指针是指向整型变量。

三。指针数组的概念。

如果一个数组,其元素均为指针类型数据,该数组称为指针数组。也就是说,指针数组中的每个元素相当于一个指针变量,它的值都是地址。

一维指针数组的定义形式为:

类型名   *数组名[数组长度];

例如:   int  *p[4];

由于[]比*的优先级高,形成p[4]形式,这显然就是数组形式。然后再与其前面的*结合,“*”表示此数组是指针类型的,每个数组元素(相当于一个指针变量)都可以指向一个整型变量。

指针变量可以有空值:int *p; p=NULL;

P的值等于NULL和p未被赋值是两个不同的概念,前者是有值的(值为0),不指向任何变量,后者虽未对p赋值但是并不等于p无值,只是它的值是一个无法预料的值,也就是p可能指向某一个未指定的单元。这种情况很危险。因此在引用指针变量之前应该对她赋值。

两个指针变量可以相减,如果两个指针变量指向同一个数组的元素,则两个指针变量值之差是两个指针之间的元素个数。

两个指针变量比较,若两个指针变量指向同一个数组的元素,则可以进行比较。指向前面的元素的指针变量小于指向后面元素的指针变量。如果两个指针变量不指向同一个数组则比较无意义。

最新文章

  1. Linux平台 Oracle 11gR2 RAC安装Part1:准备工作
  2. Httpclient请求数据(post)
  3. hibernate save,update,saveorupdate方法有什么区别
  4. 创建守护进程步骤与setsid() -- linux deamon进程
  5. java转换json需要导入的jar包,org/apache/commons/lang/exception/NestableRuntimeException
  6. 【leetcode】Search in Rotated Sorted Array II(middle)☆
  7. HDFS简单入门
  8. Android开发必知--自定义Toast提示
  9. 数学之路(3)-机器学习(3)-机器学习算法-PCA
  10. Codeforces 432E Square Tiling(结构体+贪婪)
  11. zynq基础-->linux下软件应用
  12. loj6277
  13. day 30 HTML
  14. flume杀掉重启
  15. 9、java5线程池之定时任务线程池newScheduledThreadPool与newSingleThreadScheduledExecutor
  16. ubuntu命令行编译opencv c++项目
  17. 定制选择范围的按钮RangeButton
  18. Activiti6.0 java spring5 SSM 工作流引擎 审批流程 项目框架
  19. vim打造简易C语言编辑器(在用2016.7.10)
  20. PKU 2082 Terrible Sets(单调栈)

热门文章

  1. Android开放百度地图集成
  2. Equals相關的一些要點
  3. dubbo之服务分组
  4. 安卓代码迁移:Program "sh" not found in PATH
  5. OpenCV: 图像连通域检测的递归算法
  6. Python2X和Python3X 除法运算符的使用:
  7. pycharm,右键执行run unittests in xx.py后,__main__:后的代码没执行
  8. 01 Centos安装python3
  9. python tips:迭代器与可迭代对象
  10. PAT_A1141#PAT Ranking of Institutions