zoukankan      html  css  js  c++  java
  • 网易云课堂_C语言程序设计进阶_第8周:图形交互程序

    8.2函数指针

    8.2函数指针

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 void f(int i)
     5 {
     6     printf("void f(),%d
    ", i);
     7 }
     8 
     9 void main()
    10 {
    11     void(*pf)(int) = f;//函数指针
    12 
    13     pf(10);
    14 
    15     (*pf)(20);
    16 
    17     (pf)(30);
    18 
    19     system("pause");
    20 }

    //函数指针数组

    数组存放函数,根据用户输入,执行不同的函数

     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include <stdio.h>
     3 #include <stdlib.h>
     4 
     5 void f(int i)
     6 {
     7     printf("void f(),%d
    ", i);
     8 }
     9 
    10 void g(int i)
    11 {
    12     printf("void g(),%d
    ", i);
    13 }
    14 
    15 void h(int i)
    16 {
    17     printf("void h(),%d
    ", i);
    18 }
    19 
    20 void main()
    21 {
    22     int i = 0;
    23     void(*fa[])(int) = { f,g,h };//函数指针数组
    24 
    25     scanf("%d", &i);
    26 
    27     if (i >= 0 && i <= sizeof(fa) / sizeof(fa[0]))
    28     {
    29         (*fa[i])(0);
    30     }
    31     
    32     system("pause");
    33 }

    函数指针作为函数的参数

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 int plus(int a, int b)
     5 {
     6     return a + b;
     7 }
     8 
     9 int minus(int a, int b)
    10 {
    11     return a - b;
    12 }
    13 
    14 void cal(int(*f)(int, int))//函数指针作为函数的参数
    15 {
    16     printf("%d
    ", (*f)(2, 3));
    17 }
    18 
    19 void main()
    20 {
    21     cal(plus);//5
    22 
    23     cal(minus);//-1
    24 
    25     system("pause");
    26 }
  • 相关阅读:
    Arcgis silverlight4 Sublayerlist
    U盘不显示盘符
    Error: The spatial references do not match
    如何让你的SQL运行得更快
    Arcgis silverlight3 layerlist
    oracle客户端登陆
    Arcgis silverlight1 地图显示
    通过BAT文件部署windows服务
    在博客园安家了
    java中static作用详解
  • 原文地址:https://www.cnblogs.com/denggelin/p/5662151.html
Copyright © 2011-2022 走看看