初学c语言 ——函数指针

定义

  如果在程序中定义了一个函数,在编译时,编译系统给函数代码分配了一个储存空间,这段储存空间的起始地址 称为这个函数的指针

函数的地址

函数名就是地址。

如何定义一个函数指针

就和其他不同变量一样 

int a;          char c;        函数     int getData(int a,int b);

int *p;        char *p;                    int (*p) (int a,int b);

使用函数指针

#include <stdio.h>

void printWelcome()
{
	puts("程序启动,欢迎使用\n");
}

int main()
{
	int a =10;
	int *pa;
	pa = &a;
	printf("%d\n",*pa);
	
	void (*p)() ;// 定义指针函数变量
	p = printWelcome;//指向函数
	printWelcome();
	(*p)(); //调用
	
	return 0;
}

指针函数的   直接访问   变量名(函数名)

                     间接访问  指针 (函数指针)

#include <stdio.h>

int inCDdata(int data)
{
	return ++data;
}
void printWelcome()
{
	puts("程序启动,欢迎使用\n");
}

int main()
{

	void (*p)() ;// 定义指针函数变量
	int (*p2)(int data); 
	
	p = printWelcome;//指向函数
	p2 = inCDdata;
	
	printWelcome(); // z直接访问(利用函数名)
	
	
	(*p)(); //调用 指针函数
	printf("P2测试 :%d\n",(*p2)(10));
	
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值