博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数指针和指针函数
阅读量:5748 次
发布时间:2019-06-18

本文共 936 字,大约阅读时间需要 3 分钟。

指针函数:

  返回值为指针的函数: 例:  int * add (int x, int y); // 返回值为指针的带有两个变量的函数

#include <stdio.h>

int sum;
int * add(int x,int y)
{
    sum = x+y;
    return &sum;
}
int main(void)
{
    int a,b;
    int *p;
    printf("enter two int number:\n");
    scanf("%d %d",&a,&b);
    p = add(a,b);
    printf("the sum of %d and %d is %d\n", a,b,*p);
    return 0;
}

 

函数指针:

  指向函数的指针. 例:  int (*p) (int x, int y);  //p变量为一个指针,其指向 一个返回类型为整型 且带有两个整型变量的函数.

#include <stdio.h>

int sum;
int  add(int x,int y)    
{
    sum = x+y;
    return sum;        //与上例不同
}
int main(void)
{
    
    int a,b;
    int (*p) (int,int);
    printf("enter two int number:\n");
    scanf("%d %d",&a,&b);
    p = add;
    printf("the sum of %d and %d is %d\n", a,b,(*p)(a,b));      //指针的引用
    return 0;
}

现在:

pthread_create( pthread_t *thread, pthread_attr_t  *attr, void *(*function)(void *), void *arg);

其中 :   void * (*function)(void *) 作如下理解:

function 是个函数指针, 它指向的函数: 返回值 为: void *型  即 空指针, 参数是 void * 型 即也是 空指针.

以上为个人理解.

 

转载于:https://www.cnblogs.com/oh-mine/p/5237153.html

你可能感兴趣的文章
Eclipse中自动添加注释(作者,时间)
查看>>
MySQL 启动报错File .mysql-bin.index not found (Errcode 13)
查看>>
转-什么?你还不会写JQuery 插件
查看>>
引用记数法和可达性算法
查看>>
linux定时运行命令
查看>>
两个林之间的跨域访问
查看>>
linux ping命令
查看>>
构造HTTP请求Header实现“伪造来源IP”
查看>>
ajax返回json数据
查看>>
shutdown命令
查看>>
java版两图对比相似度
查看>>
我的友情链接
查看>>
SharePoint 2013实例1—构建三层服务器场5—配置DB层3—模拟存储
查看>>
iOS培训教程——NSArray和NSMutableArray章节
查看>>
apache tomcat ajp mod jk
查看>>
我的友情链接
查看>>
Ubuntu 14.0.4 如何设置 VirtualBox 识别 USB 设备
查看>>
zabbix API基本使用方法介绍
查看>>
mysql 用户登录密码和远程登录权限问题
查看>>
mongodb配置文件的英文翻译
查看>>