函数指针 指针函数 #define A

2017-11-24  本文已影响0人  李响lx

今天学习了很多重要的新知识。 

面向对象的知识

1.方法:就是函数

2.属性:就是变量

3.关键字static 所有对象公用的,可以修饰方法,也可以修饰属性。

    static修饰的方法和属性外部可以直接类调用。例如

            class A   { public static  void f();}

            A::f();

4.除静态方法和属性,只能对象调用方法和属性。

5.关键字this。this指向的属性和方法,是当前对象的属性和方法。

6.多态。类的方法同名,但形参不同。

指针函数 与 函数指针

1.指针函数是返回值类型是指针的函数,即本质是一个函数。

    类型标识符*函数名(参数表)

    int *f(int x,int y);

2.函数指针是指向函数的指针变量,即本质是一个指针变量

    int (*f) (int x); /声明一个函数指针,注意*f需要带括号

    f=func; /将func函数的首地址赋给指针f 

函数指针应用

1.软件复位

void (*p)(void)=0x0000;//启动地址0x0000

p();//运行p()时相当于让程序执行启动文件,直接复位

2.函数调用

int (*f) (int x); 

f=func;//把函数func首地址给指针f

f(int abc);//相当于运行函数func(int abc);

因为每个函数在函数结尾在汇编语言层都有返回指令:RET,所以函数调用程序不会飞。但如果直接给地址0x0000紧接着的就是程序启动,所以相当于程序复位。

#define  A 

用途相当于去掉A。

上一篇 下一篇

猜你喜欢

热点阅读