C语言指针和函数

本文介绍了C语言中的指针函数和函数指针。指针函数是返回值为指针的函数,而函数指针则是一个指向函数的指针变量。讨论了如何声明、使用和调用函数指针,强调了两者之间的区别和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般讲指针与函数时都会以swap函数(交换两个数)来作为引例,想必大家都看过了,此处不再详细讲解。那么什么是指针函数呢?

指针函数

指针函数的定义:指针函数是指带指针的函数,即本质是一个函数。当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。

函数返回类型是某一类型的指针:

int *swap(int *x,int*y);/函数标识符 *函数名(参数表)

解析:

  1. 这是一个函数;
  2. 这个函数的返回值是一个地址值;
  3. 函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值。
  4. 在主调函数中,函数返回值必须赋给同类型的指针变量。

例如:

float *match();
float *p;
p = match(a);

注意:

函数运行结束后会销毁在它内部定义的所有局部数据,包括局部变量、局部数组和形式参数,函数返回的指针请尽量不要指向这些数据,C语言没有任何机制来保证这些数据会一直有效,它们在后续使用过程中可能会引发运行时错误。

函数指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值