当前位置: 首页 > 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

相关文章:

64.函数参数和指针变量

目录 一.函数参数 二.函数参数和指针变量 三.视频教程 一.函数参数 函数定义格式&#xff1a; 类型名 函数名(函数参数1,函数参数2...) {代码段 } 如&#xff1a; int sum(int x&#xff0c;int y) {return xy; } 函数参数的类型可以是普通类型&#xff0c;也可以是指针类…...

原创作品 —(金融行业)年金系统交互和视觉设计

金融行业软件交互设计要点&#xff1a;“简化操作流程&#xff0c;确保流畅易用&#xff0c;同时注重交易环境的安全可靠&#xff0c;通过个性化体验提升用户满意度&#xff0c;并及时收集反馈以持续优化。” 2.UI设计要点&#xff1a;“注重视觉效果与用户体验的平衡&#xff…...

3D slicer

...

面试题--SpringCloud

SpringCloud SOA 和微服务的区别?(必会) 谈到 SOA 和微服务的区别, 那咱们先谈谈架构的演变 1. 集中式架构 项目功能简单, 一个项目只需一个应用, 将所有功能部署在一起, 这样的架构好处是减 少了部署节点和成本. 缺点: 代码耦合&#xff0c;开发维护困难 2. 垂直拆分架构 …...

Qt windeployqt 打包的Qt动态库介绍

前言 在 Windows 平台&#xff0c;通常使用 Qt 的工具 windeployqt 将可执行文件的相关 Qt 依赖项部署到当前路径下。 Windows windeployqt 部署工具 Windows 部署工具 windeployqt 旨在自动化创建一个可部署文件夹的过程&#xff0c;该文件夹包含运行应用程序所需的 Qt 相关…...

WordPress付费进群V2主题,多种引流方法,引私域二次变现

全新前端UI界面&#xff0c;多种前端交互特效让页面不再单调&#xff0c;进群页面群成员数&#xff0c;群成员头像名称&#xff0c;每次刷新页面随机更新不重复&#xff0c;最下面评论和点赞也是如此随机刷新不重复 进群页面简介&#xff0c;群聊名称&#xff0c;群内展示&…...

【Linux】性能分析器 perf 详解(三):kmem、mem

上一篇:【Linux】性能分析器 perf 详解(二) 1、perf kmem 1.1 简介 kmem 用于跟踪/测量内核内存属性的工具,如分配、释放、碎片率等。可以帮助开发者和系统管理员理解内核内存的分配和释放模式,从而诊断内存泄漏、过度分配等问题。 功能: 跟踪内存分配和释放:监控内…...

微信小程序怎样跳转页面?

在微信小程序中&#xff0c;页面跳转通常使用 wx.navigateTo、wx.redirectTo、wx.switchTab、wx.navigateBack 以及 wx.reLaunch 等API。这些API提供了不同的页面跳转方式&#xff0c;适用于不同的场景。 以下是这些API的详细代码示例和说明&#xff1a; 1.wx.navigateTo&…...

针对SVN、GIT版本管理工具进行源代码加密保护

针对SVN、GIT版本管理工具进行源代码加密保护 在软件开发过程中&#xff0c;版本管理工具如SVN和GIT是不可或缺的组成部分&#xff0c;它们帮助团队管理源代码的变更和版本。然而&#xff0c;这些工具也面临着源代码泄露的安全风险。如果不针对数据进行加密保护&#xff0c;很…...

js条件引用

在JavaScript中&#xff0c;条件引用模块通常涉及到在运行时根据条件判断来决定是否加载某个模块。这在某些情况下非常有用&#xff0c;比如在不同环境下使用不同的模块&#xff0c;或者在某些特定条件下才需要某个模块的功能。 以下是几种在JavaScript中实现条件引用的方法&a…...

帝国CMS(EmpireCMS)漏洞复现

简介 《帝国网站管理系统》英文译为Empire CMS&#xff0c;简称Ecms&#xff0c;它是基于B/S结构&#xff0c;且功能强大而帝国CMS-logo易用的网站管理系统。 帝国CMS官网&#xff1a;http://www.phome.net/ 参考相关漏洞分析文章&#xff0c;加上更详细的渗透测试过程。 参考…...

DP:解决路径问题

文章目录 二维DP模型如何解决路径问题有关路径问题的几个问题1.不同路径2.不同路径Ⅱ3.下降路径最小和4.珠宝的最高价值5.地下城游戏 总结 二维DP模型 二维动态规划&#xff08;DP&#xff09;模型是一种通过引入两个维度的状态和转移方程来解决复杂问题的技术。它在许多优化和…...

Halcon OCR字符识别(极坐标转换,字符识别)

Halcon OCR字符识别&#xff08;极坐标转换&#xff0c;字符识别&#xff09; 代码 * 1.加载图片 *************************************************** dev_close_window () read_image (Image, ./img) get_image_size (Image, Width, Height) dev_get_window (WindowHandle…...

【管理咨询宝藏139】某大型快消集团公司多渠道销售管理体系方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏139】某大型快消集团公司多渠道销售管理体系方案 【格式】PDF版本 【关键词】罗兰贝格、营销咨询、战略规划 【核心观点】 - 销售体系建设主要需…...

大模型提问中包括时间的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…...

【算法】(C语言):堆排序

堆&#xff08;二叉树的应用&#xff09;&#xff1a; 完全二叉树。最大堆&#xff1a;每个节点比子树所有节点的数值都大&#xff0c;根节点是最大值。父子索引号关系&#xff08;根节点为0&#xff09;&#xff1a;&#xff08;向上&#xff09;子节点x&#xff0c;父节点(x…...

ffmpeg下载/配置环境/测试

一、下载 1、访问FFmpeg官方网站下载页面&#xff1a;FFmpeg Download Page&#xff1b; 2、选择适合Windows的版本&#xff08;将鼠标移动到windows端&#xff09;。通常&#xff0c;你会找到“Windows builds from gyan.dev”或者“BtbN GitHub Releases”等选项&#xff0…...

C# 异步编程详解(Task,async/await)

文章目录 1.什么是异步2.Task 产生背景3.Thread(线程) 和 Task(异步)的区别3.1 几个名词3.2 Thread 与 Task 的区别 4.Task API4.1 创建和启动任务4.2 Task 等待、延续和组合4.3 task.Result4.4 Task.Delay() 和 Thread.Sleep() 区别 5.CancellationToken 和 CancellationToken…...

qt结合vs2022安装

进入清华大学开源软件&#xff1a; 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载完成后&#xff0c;双击进行安装&#xff1a; 进入邮箱进行验证&#xff1a; 可能是因为网络问题&#xff0c;无法安装。 重新安装5.12.12版本。 安装后启动失败&#xff0c;重新…...

Kafka集群部署(手把手部署图文详细版)

1.1.1 部署zookpeer 在node02下载并解压zookeeper软件包 cd /usr/local wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 或者&#xff1a;scp cat192.168.28.100:/home/cat/zookeeper-3.4.6.tar.gz /tmp&#xff08;注意目录&#xf…...

NBTExplorer:让Minecraft数据编辑从专业工具变成人人可用的可视化平台

NBTExplorer&#xff1a;让Minecraft数据编辑从专业工具变成人人可用的可视化平台 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾经面对Minecraft世界文件…...

【RT-DETR实战】070、模型分析工具:PyTorch Profiler性能分析

上周在部署RT-DETR到边缘设备时遇到一个诡异现象:模型推理时延波动极大,有时30ms,偶尔突然跳到200ms。 盯着代码看了半天没发现逻辑问题,数据流也正常。这种时候,靠猜是没用的,必须上性能分析工具——PyTorch Profiler。 今天我们就来聊聊怎么用它揪出那些藏在细节里的…...

DeepSeek代码审查能力白皮书(2024企业级实测报告)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek代码审查能力白皮书&#xff08;2024企业级实测报告&#xff09;概述 本报告基于2024年Q1至Q3期间&#xff0c;面向金融、电信与云原生三大垂直行业的17家头部企业客户开展的深度实测&#xff0c;覆盖…...

关于内卷,几个值得深想的洞察

首先声明&#xff1a;这篇不劝躺平&#xff0c;也不教内卷——只是想说清楚&#xff0c;你到底在一个什么样的游戏里。 你以为内卷是“资源不足”&#xff0c;其实是“分配方式” 很多人对内卷有个本质上的认知错误&#xff1a;以为内卷是因为资源不够&#xff0c;大家为了抢资…...

从Figma设计到Python GUI:Tkinter-Designer如何重塑可视化开发范式

从Figma设计到Python GUI&#xff1a;Tkinter-Designer如何重塑可视化开发范式 【免费下载链接】Tkinter-Designer An easy and fast way to create a Python GUI &#x1f40d; 项目地址: https://gitcode.com/gh_mirrors/tk/Tkinter-Designer 在Python GUI开发领域&am…...

ABS+神经网络:端到端宇宙学参数推断新范式解析

1. 项目概述&#xff1a;当ABS遇上神经网络&#xff0c;一个端到端宇宙学参数推断新范式的诞生 在宇宙学研究的核心地带&#xff0c;有一项任务既令人着迷又充满挑战&#xff1a;如何从宇宙微波背景&#xff08;CMB&#xff09;这张宇宙婴儿时期的“照片”中&#xff0c;精准地…...

番茄小说下载器:永久保存心爱小说的5步终极指南

番茄小说下载器&#xff1a;永久保存心爱小说的5步终极指南 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 还在为喜爱的番茄小说突然下架而烦恼吗&#xff1f;这款免费开源的番茄小说下载…...

如何高效使用开源电路仿真工具:CircuitJS1桌面版新手快速入门指南

如何高效使用开源电路仿真工具&#xff1a;CircuitJS1桌面版新手快速入门指南 【免费下载链接】circuitjs1 Standalone (offline) version of the Circuit Simulator with small modifications based on modified NW.js. 项目地址: https://gitcode.com/gh_mirrors/circ/circ…...

VMware Workstation Pro 17许可证密钥:技术深度解析与最佳实践指南

VMware Workstation Pro 17许可证密钥&#xff1a;技术深度解析与最佳实践指南 【免费下载链接】VMware-Workstation-Pro-17-Licence-Keys Free VMware Workstation Pro 17 full license keys. Weve meticulously organized thousands of keys, catering to all major versions…...

ChatGPT自动回复失效真相:微信API接口变更后,必须重写的4段核心Prompt代码(含防封逻辑)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT公众号运营技巧 在微信生态中&#xff0c;将ChatGPT能力深度融入公众号运营&#xff0c;需兼顾合规性、用户体验与自动化效率。微信官方明确禁止直接调用外部AI接口响应用户消息&#xff08;如透…...