C语言 传址调用、二级指针做参数

举报
糖果罐子 发表于 2023/08/31 09:33:59 2023/08/31
【摘要】 @TOC 前言如何通过函数参数修改外部变量的空间呢? 一、传址调用空间的操作有两种: 名字,地址。如果传名字不行,传地址一定可以。如果使用变量改变函数外部的参数时,要定义全局变量,如果使用局部变量的话,并不能实现该功能。例如:(不能实现改变外部变量的值)通过地址改变外部变量。如此,fun 内 p=&a, 所以 *p 就是外部的 a 了,可以修改。即: 要修改谁,就传递谁的地址,叫做传址调用。...

@TOC

前言

如何通过函数参数修改外部变量的空间呢?

一、传址调用

空间的操作有两种: 名字,地址。如果传名字不行,传地址一定可以。

  1. 如果使用变量改变函数外部的参数时,要定义全局变量,如果使用局部变量的话,并不能实现该功能。例如:(不能实现改变外部变量的值)
    在这里插入图片描述

  2. 通过地址改变外部变量。在这里插入图片描述
    如此,fun 内 p=&a, 所以 *p 就是外部的 a 了,可以修改。
    即: 要修改谁,就传递谁的地址,叫做传址调用。

二、二级指针做参数

传递二级指针:
如果要修改指针的指向,那就修改指针的地址,如下:
在这里插入图片描述

总结

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。