函数指针和指针函数

2530阅读 4评论2013-03-23 lwp225
分类:LINUX

   简单来说,函数指针就是指向函数的指针,本质是一个指针。指针函数只是说明他是一个返回值为指针的函数,它的本质是一个函数。    这么说比较容易理解,其实我们也可以对比数组指针和指针数组来区分这两个之间的差别。
   函数指针的定义如下:int  (*f) (int x);    //括号的优先级高于‘*’
   指针函数的定义如下:int  *f(int x) ;
   指针函数可以返回指针,下面就是一个返回指针的例子:
 


  1. #include <iostream>
  2. #include <stdlib.h>
  3. using namespace std;

  4. int main()
  5. {
  6.     char *ch(char *,char *);
  7.     char str1[]="I am glad to meet you!";
  8.     char str2[]="welcome to daxue!";
  9.     cout << ch(str1,str2) << endl;
  10.     return 0;
  11. }
  12. char *ch(char *str1,char *str2)
  13. {
  14.     int i;
  15.     char *p;
  16.     p=str2;
  17.     if(*str2=='\0')
  18.         exit(-1);
  19.     do
  20.     {
  21.         *str2=*str1;
  22.         str1++;
  23.         str2++;
  24.     }while(*str1!='\0');
  25.     return (p);
  26. }

运行结果如下:

  1. lwp@linux:~/c++$ ./aa zhihan
  2. I am glad to meet you!


上一篇:数组指针和指针数组
下一篇:siizeof和内存对齐

文章评论