c语言指针作为形参改变实参 在C语言里只有指针作为形参才能改变实参的值吗?

在C语言里只有指针作为形参才能改变实参的值吗?

准确地说,参数的值只能通过修改参数的地址来更改。指针传递地址,因此可以更改。函数的形式参数接受和指针变量。如果传递地址,就不必直接从指针获取变量的地址

c语言指针作为形参改变实参 在C语言里只有指针作为形参才能改变实参的值吗?

形参不能改变实参,为什么在用指针传递数值的时候又可以改变呢?

事实上,在将实际参数传递给子函数时,形式参数定义了一个新变量,但变量的值等于实际参数

因此,无论在子函数中如何修改调用它的函数的实际参数将不受影响

当使用指针作为参数时,因为我们传递的不是值本身,而是相应的地址。更改值时,我们会更改该地址中的值,因此可以通过传递指针来更改值

如果要修改在子函数中调用它的函数的值,可以使用引用函数

例如

#include<stdio。H>

void fun(int&x)

x=x1

void Main()

{

int a=5

fun(a)

printf(%d,a)

}

只需在参数前添加一个&

您需要使用*来取消引用,这样您就可以更改指向内存的指针的值。你的交换功能有问题。有人给了你正确的写作方法。至于为什么*x和*y的值没有改变,因为你交换了两个形式参数的值。尽管您传入了指针,但并不将它们用作指针。最终结果与传递非指针值的结果相同。如果要真正更改参数的值,必须交换指针指向的内存,而不是简单地交换指针变量本身。形式参数通过堆栈传递。只有使用*x=1这样的语句来操作指针指向的内存,才能影响实际参数。否则,实际参数的值不会改变。其实最好的办法就是去VS调试运行,仔细观察运行过程,就可以更清楚地理解指针。一个简单的理论是站不住脚的,一出来就很清楚了。我想帮助你。

标签:

最新文章

  1. 北京净雅大酒店(净雅大酒店是几星级的?)2025-03-23
  2. 如何修复ipv4连接正常但ipv6未连接的问题2025-03-13
  3. 淘宝运营如何拉流量 淘宝开店运营如何应对爆款流量二次分流?2025-03-19
  4. 如何获得以太坊代币(eth是代币吗?)2025-03-23
  5. 滴滴打车服务分怎么增加 高德服务分提升技巧?2025-03-24
  6. ps文字加粗怎么弄 ps怎么把字改粗?2025-03-16
  7. 如何查询服务器地址 网站做好后,不想买服务器可以用自己的电脑当服务器么?2025-03-31
  8. 诺基亚手表式手机(诺基亚n系列十大经典?)2025-03-18
  9. java中的io流知识总结 java中的流是什么?2025-03-20
  10. 如何在电脑上设置OUTLOOK的电子邮件2025-03-11
  11. 乐视电视怎样无线投屏2025-03-15
  12. 苹果如何将通讯录导入另一手机 两部苹果手机怎么互为联系人?2025-03-11
  13. 二级域名前缀大全 为什么有人说建设网站必须去购买域名呢?2025-03-30
  14. excel零基础入门教程 怎么系统学习Excel好?2025-04-01
  15. linux设置mysql远程登录 阿里云linux的mysql怎么用工具远程连接?2025-03-10
  16. 域名空间由什么组成 DNS的正向搜索区域与反向搜索区域的区别?2025-03-27
  17. visualstudio开发安卓登录界面 Visual Studio开发Android登录界面2025-03-15
  18. 网络加载错误1003 IOS网络链接错误码1003,请问是什么情况?2025-03-21
  19. 自己如何制作网站 如何简单制作自己的网站?2025-03-22
  20. Illustrator2019中如何为图片添加鱼眼效果2025-03-12
  21. 为什么合并居中后下划线没了2025-03-16
  22. macbook默认输入法怎么设置 MacBook输入法设置方法2025-03-13
  23. 怎么让手机屏幕变成刘海屏 安卓刘海屏怎么设置灵动岛?2025-03-10
  24. 安装ios13需要多少内存 ios后台查询内存软件?2025-03-31
  25. win10锁屏界面能添加签名吗 win10设置中没有恢复选项怎么去掉数字签名?2025-03-13
  26. 网易云音乐怎么关闭自动缓存 一切屏网易云音乐自动停止播放?2025-03-22
  27. 如何比较两个文件内容的不同之处2025-03-09
  28. 尼康相机配适马镜头合适吗(适马三剑客可以给尼康用吗?)2025-03-24
  29. goodie是什么意思中文翻译 goodies是什么意思?2025-04-01
  30. 学校定制平板怎么刷机 开博尔c3无法开机我想刷机可是遥控器无法使用教程按什么键都没有用?2025-03-31
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 c语言和java哪个好学 比亚迪汉部分性能甚至强于BBA的C级车,为什么买的人那么少?

    比亚迪汉部分性能甚至强于BBA的C级车,为什么买的人那么少?月销售额超过10000或更少?你想一个月卖出一百万台吗?王者荣耀为什么没人喜欢兰陵王?兰陵大王一个人玩很好,尤其是抓人的时候。他经常在中间阶段到处抓人来抢人头和MVP。但是后来,别

  2. 2 域名服务器 域名与后台匹配不一致是什么意思?

    域名与后台匹配不一致是什么意思?表示区域名称与背景匹配度不一致

  3. 3 python mysql 简单易用的数据库哪个比较好?

    简单易用的数据库哪个比较好?1. 数据量太大,比如数亿。使用Oracle。数亿数据的优势对于甲骨文来说是轻量级的,不需要过多的优化配置。缺点是安装麻烦,启动慢。2. 数据量很大,比如上千万的数据。使用PostgreSQL,也就是众所周知的标

  4. 4 根证书怎么安装 登陆网站时提示证书过期、失效、不受信任怎么办?

    登陆网站时提示证书过期、失效、不受信任怎么办?1. 如果您确认该网站可以信任并继续访问该网站,则可以单击“继续浏览”完成登录操作。2. 证书不可信、无效、过期等警告最常见的原因是错误的时间,尤其是错误的年份。调整系统时间可以解决这个问题。3

  5. 5 手机端h5富文本编辑器 如何实现一个Android端的富文本编辑器?

    如何实现一个Android端的富文本编辑器?Richeditor for Android是Android的一个很酷的所见即所得富文本编辑器控件。它支持以下函数:粗体、斜体、下标、上标、删除线、下划线、左对齐、居中对齐、右对齐、heading

  6. 6 视频制作免费模板 有哪些免费的高清图片素材网站推荐?

    有哪些免费的高清图片素材网站推荐?有免费图片,4K收费

  7. 7 美团怎么定位 怎样更改美团外卖定位地址?

    怎样更改美团外卖定位地址?1、打开美团APP。如图所示:2、在页面上的左上角上点开显示的定位地址。如图所示:3、在定位页里可以看到很多地名,一是可以直接去定位城市,打开允许APP访问地址,就可以了。如图所示:4、可能因为网络问题或其他问题,

  8. 8 推广渠道 网络推广哪个平台好一点?

    网络推广哪个平台好一点?再次感谢悟空的邀请。为了解决这个问题,我想表达一下我以前储存红薯的过程。如果你在家里不长得太多,你可以选择地势较高的地方。坑后最好有个遮蔽处,挡住西北风。挖一个南北向的长方形土坑,土坑的大小和深度取决于你准备储存的新

  9. 9 非原装屏有3dtouch吗 苹果手机换第三方屏幕还有3D触控吗?

    苹果手机换第三方屏幕还有3D触控吗?谢谢你的邀请。如果您想更改第三方屏幕,这取决于屏幕的质量。如果你想更换第三方屏幕,会有好的,但如果你想更换第三方屏幕,不会有坏的。建议更换原来的。原版虽然价格昂贵,但效果和质量都优于第三方。iphone8

  10. 10 路由器360登录入口 360安全路由p1 wifi网页认证教程?

    360安全路由p1 wifi网页认证教程?360安全路由P1 WiFi网络认证教程?1登录360安全路由P1后台2进入管理页面,点击“扩展功能”3进入“好友专属网络”4设置WiFi名称,选择“网页认证”功能5上传认证图片,支持JPG、BMP

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图