1. c 函数指针。
1.1 对c语言来说,指针就是一切,是函数能运行,是数据能访问。觉得的说c语言的运行就做两件事情,1是get或set指针,再就是运行指针。
2.代码
// ConsoleApplication26.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include<string>
using namespace std;
typedef int (*ty)(int, int);
int(*p)(int, int);
int fun(int a,int b) {
return a + b;
}
int funCheng(int a, int b) {
return a * b;
}
int fun2(int a, int b, void* f) {
p = (int(__cdecl*)(int, int))f;
return p(a, b);
}
int fun3(int a, int b, ty f) {
return f(a, b);
}
int fun4(int a, int b, int(*f)(int, int)) {
return f(a, b);
}
void test1() {
cout << "指针函数实验\n";
int a = 4;
int b = 5;
int c = fun2(a, b, fun);
cout << "c:" << c << "\n";
c = fun2(a, b, funCheng);
cout << "c:" << c << "\n";
}
void test2() {
cout << "typedef 函数实验\n";
int a = 4;
int b = 5;
int c = fun3(a, b, fun);
cout << "c:" << c << "\n";
c = fun2(a, b, funCheng);
cout << "c:" << c << "\n";
}
void test3() {
cout << "typedef 函数实验\n";
int a = 4;
int b = 5;
int c = fun4(a, b, fun);
cout << "c:" << c << "\n";
c = fun2(a, b, funCheng);
cout << "c:" << c << "\n";
}
int main()
{
test1();
test2();
test3();
std::cout << "Hello World!\n";
std::getchar();
}
运行