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

     

       

  • 相关阅读:
    Nginx详解
    MySQL数据库(未完)
    PXE自动装机
    Rsync数据同步服务
    NFS网络文件系统
    inotify事件监控工具
    scp ssh-key连接原理
    生产环境ssh登陆策略
    npm ERR! errno -4048
    js判断手机系统语言动态引入不同js文件
  • 原文地址:https://www.cnblogs.com/sd-xyy/p/12913347.html
Copyright © 2011-2022 走看看