A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chunhuayun 中级黑马   /  2015-9-28 16:51  /  1028 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.返回指针的函数称为指针函数

2.指针函数的定义
一般形式为:
类型说明符 *函数名(形参表){
/*函数体*/
}
例如:
  1. //返回两个数中最大数的地址
  2. int *sum(int a, int b){
  3.     return a > b ? &a : &b;
  4. }

  5. int *sum2(int *a, int *b){
  6.     return *a > *b ? a : b;
  7. }

  8. int main(int argc, const char * argv[])
  9. {

  10.     int a = 10,b = 9;
  11.     //传值给函数
  12.     printf("Address of a = %p\n", &a);
  13.     printf("Address of b = %p\n", &b);
  14.     printf("传值给函数Address of the biger = %p\n", sum(a, b));
  15.     //传地址给函数
  16.     printf("传地址给函数Address of the biger = %p\n", sum2(&a, &b));
  17.     return 0;
  18. }
复制代码

打印结果:
Addressof a = 0x7fff5fbff90c
Addressof b = 0x7fff5fbff908
传值给函数Address ofthe biger = 0x7fff5fbff8dc
传地址给函数Address ofthe biger = 0x7fff5fbff90c

分析:由打印结果可知实参和形参完全是两码事,在内存中占用的地址都不一样。

6 个回复

倒序浏览
中介的好
回复 使用道具 举报
指针函数,函数指针,一致很晕
回复 使用道具 举报
你有MAC系统吗
回复 使用道具 举报
tz19900926 发表于 2015-9-28 19:48
指针函数,函数指针,一致很晕

可以这样记:【指针函数】就是【返回值是指针的函数】,【函数指针】就是【指向函数的指针】。这样是不是就清楚了呢
回复 使用道具 举报

装得黑苹果10.9.5,我的是acer4750
回复 使用道具 举报
chunhuayun 发表于 2015-9-28 22:12
装得黑苹果10.9.5,我的是acer4750

挺好,我也试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马