C/C++ 函数指针,强制转换示例
2015-05-30 23:48
417 查看
这个小例子分别演示了函数指针,函数指针类型,以及将整形强制转换为函数指针地址。希望对初次接触函数指针的朋友有所帮助。
#include "stdafx.h"
#include "stdlib.h"
void func(void)
{
printf("this is func!!\n");
}
typedef void(*pof)(void); //定义一种函数指针类型,类型名为pof
void funtmp(pof fp) //使用 pof 类型
{
fp();
}
int _tmain(int argc, _TCHAR* argv[])
{
void(*p) (void) =func; //定义一种函数指针变量,变量名为p
funtmp(func);
p();
printf("func's addr :x\n", func);
int addr = 0;
scanf_s("%x",&addr);
void (*p1)(void) =(void(*)())addr; //将 int 类型的 addr强制转换成函数指针类型赋值给函数指针变量 p1
p1();
system("pause");
return 0;
}
#include "stdafx.h"
#include "stdlib.h"
void func(void)
{
printf("this is func!!\n");
}
typedef void(*pof)(void); //定义一种函数指针类型,类型名为pof
void funtmp(pof fp) //使用 pof 类型
{
fp();
}
int _tmain(int argc, _TCHAR* argv[])
{
void(*p) (void) =func; //定义一种函数指针变量,变量名为p
funtmp(func);
p();
printf("func's addr :x\n", func);
int addr = 0;
scanf_s("%x",&addr);
void (*p1)(void) =(void(*)())addr; //将 int 类型的 addr强制转换成函数指针类型赋值给函数指针变量 p1
p1();
system("pause");
return 0;
}
相关文章推荐
- 一个简单的C/C++多线程
- C/C++求完数,小提醒
- C++ 实现杨辉三角
- C/C++用Unicode保存字符并输出
- C/C++素数判断(附exe方便不懂编程…
- C++刷题——线段分割平面
- 渣校ACM历程——番外之蓝桥杯决赛
- 【末世旅行之C语言】C语言经典试题小集合
- Error Tips
- 在C++里写一个不能被继承的类
- 汉诺塔的C语言实现
- ubuntu下c语言hello world
- swust oj 1132--Coin-collecting by robot
- swust oj 1139--Coin-row problem
- C++虚函数及虚函数表解析
- 高效编程——C++测试代码运行时间方法
- hdoj1160最长上升子序列
- C++内存管理详解
- C语言高级语法概述笔记
- C++引用之引用的使用