zoukankan      html  css  js  c++  java
  • void(*p)()和void*p()区别

    void (*p)()是一个指向函数的指针,表示是一个指向函数入口的指地变量,该函数的返回类型是void类型。它的用法可参看下例:
    例如:有一返加void值的函数swap,(swap用来交换两个数)
    void (*p)(); /*定义指向函数的指针变量p*/
    p=swap; /*使指针变量p指向函数max*/
    (*p)(a,b); /*通过指针变量p调用函数max*/
    它等价于:
    swap(a,b)
    
    void *p()是一个指针型函数,它的函数名为p,返回了一个指针,因为是void,这个指针没有定义类型,所以返回的是一个通用型指针。
    给你举一个例子:
    #include<stdio.h>
    int *max(int *p);
    void main()
    {
    int a[10]={96,23,45,86,79,63,58,36,29,95};
    int *p;
    p=max(a);
    printf(“max=%d
    ”,*p);
    }
    int *max(int *p)
    {
    int i,*q=p;
    for(i=1;i<10;i++)
    if(*(p+i)>*q)
    q=p+1;
    return q;
    }
  • 相关阅读:
    MySQL大数据分页调优实践
    CentOS 搭建L2TP
    CentOS 搭建SS5
    CentOS 搭建PPTP
    CentOS 防火墙 firewalld
    CentOS 初始化账号
    nginx升级与回退
    Python
    python
    linux
  • 原文地址:https://www.cnblogs.com/qbmiller/p/3611355.html
Copyright © 2011-2022 走看看