指针函数 vs 函数指针(...)



1、指针函数:指针 作为函数的 返回值

应用实例1:解密藏头诗:

#include <stdio.h>
char *change(char s[][20], char t[]);
void main(void)
{
    int i;
    char s[4][20] , t[10], *p;
    printf(“请输入藏头诗:\n”);
    for(i = 0; i < 4; i++)
    {
        scanf("%s", s[i]);
    }
    p = change(s, t);
    printf("%s\n", p);
}
char * change(char s[][20], char t[])
{
    int i;
    for(i= 0; i < 4; i++) 
    {
        t[2 * i] 	 = s[i][0];
	    t[2 * i + 1] = s[i][1];
    }
	 t[2 * i] = '\0';
	 return t;
}

2、函数指针:指向 函数 的指针

(1)每个函数都占用一段内存单元,有一个入口地址(起始地址)
(2)函数名:函数的入口地址
(3)函数指针:一个指针变量,接收函数的入口地址,让它指向函数

应用实例:
(1)通过 函数指针 调用函数;

 #include <iostream>
 using namespace std;
 int max(int x, int y)
 {
    return (x) > (y) ? (x) : (y);					
 }
 int main()
 {
	 int a = 3, b = 6, c = 9, d;
	 int (*p)(int, int) = &max;	//定义 函数指针
	 d = (*p)((*p)(a, b), c);
	 cout << "d = " << d << endl;	//输出 d=9
 }

(2)做为 函数 的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值