C语言 指针函数

ChatGPT 3.5 国内中文镜像站免费使用啦

零基础 Python 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门


一.指针函数简介

指针函数,即返回指针的函数,其本质是一个函数,而该函数的返回值是一个指针。

基本声明形式:返回数据类型 + * + 函数名 + (变量类型1,…);


1.常规函数声明

//返回int类型的常规函数
int fun(int x,int y);

2.指针函数声明

//返回int类型指针的指针函数
int* fun(int x,int y);

常规函数指针函数区别: 在函数名前面多了一个 * 号,而这个函数就是一个指针函数。其返回值是一个 int 类型的指针,是一个地址。


二.指针函数实战


/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 指针函数
//@Time:2021/06/24 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include<stdio.h>

int* fun1(int* x)    //传入指针  
{
    int* tmp = x;     //指针tmp指向x
    return tmp;       //返回tmp指向的地址
}
int fun2(int* x)    //传入指针  
{
    return *x;       //返回x指向的地址对应的值
}
int main()
{
    int b = 2;      
    int* p = &b;   //p指向b的地址
    //调用常规函数
    printf("func1:%d\n",*fun1(p));//输出p指向的地址的值
    //调用指针函数
    printf("func2:%d\n",fun2(p));//输出p指向的地址的值
    return 0;
}
/*
输出:
func1:2
func2:2
*/


三.猜你喜欢

  1. C语言逻辑运算符
  2. C语言三目运算符
  3. C语言逗号表达式
  4. C语言 sizeof 和 strlen 函数区别
  5. C语言 strcpy 和 strcpy_s 函数区别
  6. C语言 memcpy 和 memcpy_s 区别
  7. C语言 数组定义和使用
  8. C语言 数组遍历
  9. C语言 数组下标越界
  10. C语言 数组内存溢出
  11. C语言 数组下标越界和内存溢出区别
  12. C语言 二维数组定义和使用
  13. C语言 二维数组行数和列数计算
  14. C语言 指针声明和定义
  15. C语言 指针 p++ / p–
  16. C语言 p++/(p)++/(p++)/p++
  17. C语言 使用指针遍历数组
  18. C语言 指针和数组区别
  19. C语言 数组指针
  20. C语言 指针数组
  21. C语言 指针数组和数组指针区别
  22. C语言 空指针 NULL
  23. C语言 void 指针
  24. C语言 野指针
  25. C语言 函数值传递和址传递
  26. C语言 函数缺省参数
  27. C语言 函数不定长参数
  28. C语言 函数指针
  29. C语言 指针函数

ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
THE END
喜欢就支持一下吧
点赞2 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容