zoukankan      html  css  js  c++  java
  • c语言定义函数指针和typedef简写

      二种方法来定义函数指针

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<Windows.h>
     4 
     5 int add(int a, int b)
     6 {
     7     return a + b;
     8 }
     9 
    10 //void msg(char s[])
    11 //void (*p)(char s[]) 函数指针的定义方法
    12 //void (*)(char *s)   函数指针的类型
    13 
    14 void msg(char s[])
    15 {
    16     MessageBoxA(0,s,s,0);
    17 }
    18 
    19 
    20 void main()
    21 {
    22     //方法1
    23     //定义函数指针的规则
    24     //1.先把函数拿过来  int add(int a, int b) , add就是一个地址
    25     //2.把函数名挖空    int (*p)(int a,int b);
    26     int(*padd)(int a, int b); //函数指针
    27     //3.赋值
    28     padd = add;
    29     printf("%d", padd(11, 19));//30
    30 
    31     //方法2.直接初始化
    32     void(*pmsg)(char s[]) = msg; //定义函数指针并初始化
    33     pmsg("心里的雨倾盆的下");
    34 
    35     getchar();
    36 }

       通过typedef构建

     1 //使用typedef给函数指针类型一个别名
     2 //typedef没有定义新的类型,给已经有的类型起一个别名,减少输入
     3 typedef int(*PADD)(int a, int b); //*类型, PADD存储函数地址
     4 typedef void(*MEG)(char s[]);
     5 
     6 void main()
     7 {
     8     PADD padd1 = add; //创建函数指针
     9     printf("%d",padd1(11,23));
    10     
    11     MEG meg1 = msg;
    12     meg1("心里的雨倾盆的下");
    13 
    14     getchar();
    15 }
  • 相关阅读:
    php编程 之php基础 表单
    javascript/ajax和php 进阶 之 项目实战
    php编程 之 php基础三
    Ajax基础1
    JavaScript编程基础2
    css3基础一
    html超文本标记语言基础一
    表连接、存储过程及基本编程
    五种函数、子查询及分页查询思路
    数据库与表的创建及增删改查
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/5759046.html
Copyright © 2011-2022 走看看