C语言函数指针

#include "stdio.h"

void (*tprint_p)(void);

void tprint(void)
{
    printf("hello world\r\n");
}

void main(void)
{
    tprint_p = tprint;
    tprint_p();
    (*tprint_p)();

    printf("tprint_p: 0x%x\r\n", (int)tprint_p);
    printf("(*tprint_p): 0x%x\r\n", (int)(*tprint_p));

    int aa = 12;
    int *tint = &aa;

    printf("tint: 0x%x\r\n", (int)tint);
    printf("(*tint): 0x%x\r\n", (int)(*tint));
}

C语言函数指针

 

类比整型指针变量,取指针内容是存储的值,而函数指针取其存储的值就是函数,也就还是函数地址。

 

上一篇:如何定义一个自带数据区的结构体:三种数据结构体的比较


下一篇:C#发送字符串转字节含空格与0x需删去