当前位置: 首页 > news >正文

64.函数参数和指针变量

目录

一.函数参数

二.函数参数和指针变量

三.视频教程


一.函数参数

函数定义格式:

类型名 函数名(函数参数1,函数参数2...)
{代码段
}
如:
int  sum(int x,int y)
{return x+y;
}

函数参数的类型可以是普通类型,也可以是指针类型。什么时候使用指针类型呢?

二.函数参数和指针变量

例:

在主函数中有俩个整数并存入变量中,然后在被调函数中将这俩个变量的值互换。

如果不使用指针变量作为函数参数,我们这样写。

#include <stdio.h>void swap(int a,int b)
{int c;c = a;a = b;b = c;printf("a is %d,b is %d\n",a,b);
}int main(void)
{int a = 1;int b = 2;swap(a,b);printf("a is %d,b is %d\n",a,b);return 0;}

运行结果:

a和b只在swap函数中被调换了。如果不使用指针变量,我们可以这样修改:

#include <stdio.h>int a = 1;
int b = 2;void swap(void)
{int c;c = a;a = b;b = c;printf("a is %d,b is %d\n",a,b);
}int main(void)
{swap();printf("a is %d,b is %d\n",a,b);return 0;}

运行结果:

虽然成功实现了a和b值的互换,但是swap函数非常不灵活,只能交换a和b的值,基本上写死了。

如果我们使用指针变量作为参数会发生什么事情呢?

#include <stdio.h>void swap(int *a,int *b)
{int c;c = *a;*a = *b;*b = c;
}int main(void)
{int a = 1;int b = 2;swap(&a,&b);printf("a is %d,b is %d\n",a,b);return 0;}

运行结果:

分析:

使用指针变量作为参数成功实现了a和b互换,而且swap函数非常灵活,可以在任意函数中调用。这个就是指针作为函数参数的意义。

三.视频教程

64.函数参数和指针变量_哔哩哔哩_bilibili

http://www.lryc.cn/news/391458.html

相关文章:

  • 原创作品 —(金融行业)年金系统交互和视觉设计
  • 3D slicer
  • 面试题--SpringCloud
  • Qt windeployqt 打包的Qt动态库介绍
  • WordPress付费进群V2主题,多种引流方法,引私域二次变现
  • 【Linux】性能分析器 perf 详解(三):kmem、mem
  • 微信小程序怎样跳转页面?
  • 针对SVN、GIT版本管理工具进行源代码加密保护
  • js条件引用
  • 帝国CMS(EmpireCMS)漏洞复现
  • DP:解决路径问题
  • Halcon OCR字符识别(极坐标转换,字符识别)
  • 【管理咨询宝藏139】某大型快消集团公司多渠道销售管理体系方案
  • 大模型提问中包括时间的实战方案
  • 【算法】(C语言):堆排序
  • ffmpeg下载/配置环境/测试
  • C# 异步编程详解(Task,async/await)
  • qt结合vs2022安装
  • Kafka集群部署(手把手部署图文详细版)
  • 阿里Qwen2-72B大模型已是开源榜的王者,为什么还要推出其他参数模型,被其他模型打榜?
  • 7.基于SpringBoot的SSMP整合案例-表现层开发
  • 【server】3、注册中心与配置中心
  • 【大数据】—量化交易实战案例(海龟交易策略)
  • 014-GeoGebra基础篇-快速解决滑动条的角度无法输入问题
  • Diffusion模型的微调和引导
  • 零基础学MySQL:从入门到实践的完整指南
  • 澳蓝荣耀时刻,6款产品入选2024年第一批《福州市名优产品目录》
  • Frrouting快速入门——OSPF组网(一)
  • 记录通过Cloudflare部署属于自己的docker镜像源
  • 波动方程 - 在三维图中动态显示二维波动方程的解就像水面波澜起伏