zoukankan      html  css  js  c++  java
  • 08_函数

    指针参数

      返回值是指针

    一、指针作参数形式的函数

      //计算x的平方 x*x

       void square(int *x)

       {

         int a=*x;

         *x=a*a; 

       }

    二、指针作返回值的函数

      int *square(int *x)

       {

         int a=*x;

         *x=a*a;

         return x;

       }

    三、慎用自动变量返回指针

     int* square3(int *x)

     {

             int a=*x * *x;

             return &a; //危险 用自动变量

     }

    函数指针和指针函数

    一、函数指针概念

          函数的地址存放了函数开始执行的位置(起始地址),存放在函数指针中的内容就是这个地址。

        不过,光有地址还不够,如果用函数指针来调用函数,还得知道函数返回值和参数的类型及个数。

    二、函数指针的定义(声明)

       返回类型 (*指针名)(参数类型)

       int (*pn)(int,int);

    三、函数指针数组

     返回类型 (*指针名[n])(参数类型)

     int (*pn[2])(int,int);

    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <string.h>
    
    #include <ctype.h>
    
     
    
     int add(int a,int b,int d)
    
     {
    
              return a+b+d;
    
     }
    
     int mul(int a,int b,int c)
    
     {
    
              return a*b*c;
    
     }
    
    int main(void)
    
    {  
    
       int (*pn[2])(int,int,int);
    
      pn[0]=add;
    
      pn[1]=mul;
    
     
    
      printf("%d
    ", pn[0](1,3,7) );
    
      printf("%d
    ", pn[1](8,3,2) );
    
     
    
     
    
             getchar();
    
             getchar();
    
             return 0;
    
    }
    View Code

     

       

  • 相关阅读:
    小程序运行环境
    在虚拟机系统上安装oracle教程
    Java keywords
    Java bytecode instruction listings
    一个理解JVM的例子2
    一个理解JVM的例子
    JDK的环境变量设置
    JRE、JDK和JVM的关系
    合理的封装实例
    修改源码的几种取巧的方式
  • 原文地址:https://www.cnblogs.com/sd-xyy/p/12913347.html
Copyright © 2011-2022 走看看