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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© himym2005 中级黑马   /  2014-9-2 21:11  /  1237 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这2个东西傻傻分不清?有人说根本没有函数指针这个概念。。。。只是返回的值是指针罢了
还有函数指针都用在什么场合?看了网上的一大推关于这个的解释,但是根本不知道用在什么场景下

3 个回复

正序浏览
Jr_711 发表于 2014-9-2 23:51
1、返回指针的函数
        意思是说:指针也是C语言中的一种数据类型,所以一个函数的返回值也可以是指针 ...

谢谢~~~看明白了
回复 使用道具 举报
清晰明了,真不错,学习了。
回复 使用道具 举报
本帖最后由 Jr_711 于 2014-9-2 23:52 编辑

1、返回指针的函数
        意思是说:指针也是C语言中的一种数据类型,所以一个函数的返回值也可以是指针类型的
        形式为:类型名 * 函数名(参数列表)
  1. <font size="2">/*应该知道当一个指针指向一个字符串首字符时,可以访问整个字符串
  2.         char *name = "Jack";
  3. */
  4. char *test()                      //返回值是指针   
  5. {
  6.         return "Jack";        //所以可以返回字符串
  7. }

  8. /*
  9. char test2()              //返回值是char类型
  10. {
  11.         return 'J';             //所以应该返回字符
  12. }
  13. */</font>
复制代码

2、指向函数的指针
        意思是说:函数也有地址,指针变量就是用来存储地址的,所以可以利用一个指针指向一个函数。其中,函数名就代表着函数的地址。
        形式:函数的返回值类型 (*指针变量名)(形参1, 形参2, ...);
  1. //定义个test函数
  2. viod test()            
  3. {
  4.         printf("123");
  5. }

  6. //定义个函数指针,(*p)是固定写法,代表指针变量p肯定指向函数
  7. void (*p)();
  8. //函数名即是地址,将地址传给p
  9. p=test;
  10. //利用指针间接调用test函数
  11. (*p)();
复制代码



评分

参与人数 1技术分 +1 黑马币 +1 收起 理由
★彬★卍囧神 + 1 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马