zoukankan      html  css  js  c++  java
  • 函数指针和指针函数的区别

    1.指针函数 _type_ *function(int, int)

    _type_ *function(int, int)与普通函数int function(int,int)类似,只是返回的数据类型不一样而已,_type_ *function(int, int)返回的是指针地址,int function(int,int)返回的是int型数据。

     1 #include "stdio.h"
     2 #include "stdlib.h"
     3 
     4 int sum =0;
     5 int *getAdd(int a, int b)
     6 {
     7     sum = a+b;
     8     return ∑
     9 }
    10 
    11 int getDiff(int a, int b)
    12 {
    13     return a>b?(a-b):(b-a);
    14 }
    15 
    16 int main()
    17 {
    18     int *pTemp, Temp;
    19     pTemp = getAdd(115,10);
    20     printf("ADD result:%d
    ", *pTemp);
    21     
    22     Temp = getDiff(115,10);
    23     printf("DIFF result:%d
    ", Temp);
    24     return 0;
    25 }

    2.函数指针__type__ (*function)(int,int)

    __type__ (*function)(int,int)只是一个指针,变量指针是指向一个变量的地址,结构体指针是指向一个结构体的首地址,而函数指针是指向一个函数的地址,它是一种类型,比int,char高级的类型。

     1 #include "stdio.h"
     2 #include "stdlib.h"
     3 
     4 int (*function)(int ,int);
     5 
     6 int Max(int a, int b)
     7 {
     8     return a>b?a:b;
     9 }
    10 
    11 int Min(int a, int b)
    12 {
    13     return a<b?a:b;
    14 }
    15 
    16 int main()
    17 {
    18     int Num1 = 20, Num2 = 30;
    19 
    20     function = Max;
    21     printf("Max is %d
    ", function(Num1, Num2));
    22     function = Min;
    23     printf("Min is %d
    ", function(Num1, Num2));
    24     return 0;
    25 }

  • 相关阅读:
    Gym
    UVALive
    UVALive
    UVALive
    UVALive
    Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset Trie
    HDU 5816 Hearthstone 概率dp
    欧几里德与扩展欧几里德算法(转)
    差分约束系统详解(转)
    2016年第七届蓝桥杯C/C++程序设计本科B组决赛
  • 原文地址:https://www.cnblogs.com/hwli/p/9831114.html
Copyright © 2011-2022 走看看