指针
来源:互联网 发布:淘宝店铺重新激活 编辑:程序博客网 时间:2024/06/01 21:16
--------------------------------------------------------------------------------------指向一维函数的指针#include<stdio.h>#include<stdlib.h>int main(){ int as[3]={11,22,33}; int (*p)[3]=&as; printf("**p=%d\n",**p); printf("as[2]%d\n",*(*p+2)); printf("%x下一个单元格的首地址\n",*(p+1)); printf("as[2]%d\n",*(*(p+1)-1)); printf("as[1]%d\n",*(*p+1)); printf("as[1]%d\n",*(*(p+1)-2)); return 0;}--------------------------------------------------------------------------------------函数指针#include<stdio.h>#include<stdlib.h>void funa();void funb();void fund(void (*p)());void main(){ void (*p)(); p=&funa; (*p)(); p=&funb; (*p)(); fund(&funa); fund(&funb);}void funa(){ printf("void funa()\n");}void funb(){ printf("void funb()\n");}void fund(void (*p)()){ (*p)();}--------------------------------------------------------------------------------------------指向函数指针的指针#include<stdio.h>void funa();void funb();void fun(void (*)());void main(){ void (*pp)(void (*p)()); pp=&fun; (*pp)(&funa); (*pp)(&funb);}void funa(){ printf("void funa()\n");}void funb(){ printf("void funb()\n");}void fun(void (*p)()){ (*p)();}-------------------------------------------------------------------------------------------返回值为函数指针的函数#include<stdio.h>void funa();void funb();void (*funx(void (*p)()))();void main(){ void (*point)()=funx(&funa);//定义函数指针,void (*)()为类型 point为名字 (*point)(); point=funx(&funb); (*point)();}void funa(){ printf("void funa()\n");}void funb(){ printf("void funb()\n");}void (*funx(void (*p)()))()//函数参数是函数指针,返回类型为函数指针{ return p;}-------------------------------------------------------------------------------------------------------函数指针公司用法#include<stdio.h>typedef void (*pFun)();void funa();pFun funx(pFun p);void main(){ pFun p1=funx(&funa); (*p1)();}void funa(){ printf("void funa\n");}pFun funx(pFun p){ return p;}----------------------------------------------------------------------------综合#include<stdio.h>void funa()//输出{ printf("void funa()\n");}void funx(void (*p)())//参数为函数指针的函数{ (*p)();}void (*funxx(void (*p)()))()//返回值为函数指针的函数,参数为函数指针的函数{ return p;}void main(){ void (*point)();//定义一个函数指针 void (*pp)(void(*p)());//定义一个指向函数指针的指针,注意:要写函数参数 void (*p)()=&funa;//定义一个函数指针 (*p)(); //---------------------------------- funx(&funa);//直接调用参数为函数指针的函数 //---------------------------------- pp=&funx; (*pp)(&funa);//通过定义指向函数指针的指针调用 //---------------------------------- point=funxx(&funa);//通过定义指向函数指针,调用返回值为函数指针的函数 (*point)();}
0 0
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- zoj 3844 easy task
- 习惯一:积极主动--个人愿景的原则
- Chrome快捷键
- VIM编辑器配置php语法检测功能
- ubuntu 不能上网Networking disabled 解决办法
- 指针
- 栈的数组和链表实现
- 栈和堆的区别
- android IntentService使用
- android 点击空白区域隐藏软键盘
- HDU 1575 Tr A (矩阵快速幂入门)
- java Annotation 基础图解
- 公开课.古代智慧与当代爱情 [第23课]电影《情如物证》 --- David O'Connor
- Cas(05)——修改Cas的其它配置