社区
C语言
帖子详情
怎么理解这句话?(来自网易虚拟社区)
kingeyetiger
2002-09-25 11:14:32
除非调用函数明确地要求被调用函数修改调用函数环境中的参数变量,否则用传值调用给函数传递参数。
这句话,怎么理解呀?谁帮帮我……
...全文
29
14
打赏
收藏
怎么理解这句话?(来自网易虚拟社区)
除非调用函数明确地要求被调用函数修改调用函数环境中的参数变量,否则用传值调用给函数传递参数。 这句话,怎么理解呀?谁帮帮我……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sjd163
2002-09-25
打赏
举报
回复
另外
C语言可以通过内存传递函数的数据。
dsangvei
2002-09-25
打赏
举报
回复
一般说来,这是在C环境下用的。
void CalledByValue(int c)//传值
//你在调用它的时候,尽管在CalledByValue()中改变了c的值,但你的调用程序
中的值仍然不变。
{
c=10;
}
void CalledByAdress(int* c) //传址
//当你调用了之后,不管你的调用程序中的值为多少,都会改成10。
{
*c=10;
}
在C++下:
void CalledByReference(const int &c) //引用,如果你不想在
你的子程序中改变它的值,请用const
{
c=10 ; //error,不能修改了
}
void CalledByReference(int &c) //引用,可以在被调用的程序中修改
注意,你的调用程序可能不知道的哟。
{
c=10 ; //能修改了
}
abbrdr
2002-09-25
打赏
举报
回复
當然,也可以傳地址啊!
ice1010
2002-09-25
打赏
举报
回复
就是传值和传引用的问题.
blh
2002-09-25
打赏
举报
回复
就是说你调用某个函数时,如果希望该函数修改你传递的参数,那么就用指针作为参数,否则就不要使用指针作为参数。
icecools
2002-09-25
打赏
举报
回复
补充:
void B(int& c)
{
c=4;
}
这样的话就不是传值而是传应用,在B(d)以后,d就是4了
cwanter
2002-09-25
打赏
举报
回复
C/C++函数调用默认采用传值方式:编译器通过为参数在栈中做一副本来传递参数。所以被调用函数改变的是形参的值,而不会改变实参的值。如果要改变实参的值,要使用传引用或指针的方式。
socketraw
2002-09-25
打赏
举报
回复
在一个函数中调用另一个函数
如果所传递的参数要求修改的话,就不能用传值方式传递
因为传值方式参数等那个被调用函数返回后是不会改变的
如果需要改变的话,可以用传地址、引用等方式
sandrowjw
2002-09-25
打赏
举报
回复
好象没什么意义呀,难道调用函数要求了,参数就不按值传递了吗?
参数按什么方式传递应该是看被调用函数的约定形式的吧,和被调用函数有关系吗?
skyfine
2002-09-25
打赏
举报
回复
如果你不想改变被调参数的值,那么你就用值传递。
max_welcome
2002-09-25
打赏
举报
回复
void A()
{
int d = 3;
B(d);
}
void B(int c)
{
}
意思是,虽然d最为参数传递给函数B,但B不能改变d的值。因为
编译器在接受参数时,其实是将他拷贝了一份
wgc
2002-09-25
打赏
举报
回复
传址调用和传值调用
NetBird_China
2002-09-25
打赏
举报
回复
up ice1010(Azrael)!
是值传递的问题
kof99th
2002-09-25
打赏
举报
回复
就是说你要修改参数的话,就不能用传值。
Flutter布局实战
网易
新闻客户端
【超实用课程内容】 本套视频目标从UI分类开始讲起,结合
网易
新闻功能点实例讲解每一大类组件布局的使用。最后以一个完整的仿
网易
新闻的UI实战讲解,教会大家如何合理选择UI组件,并且使用组件快速实现我们的需求,...
浅析Docker容器的应用场景
本文来自
网易
云社区作者:娄超过去几年开源界以openstack为代表的云计算持续火了好久,这两年突然又冒出一个叫Docker的容器技术,其发展之迅猛远超预料。网上介绍Docker容器的文章已经很多了,用一句
话
概括:Docker...
JAVA虚拟机的类加载机制
本文来自
网易
云社区作者:吕宗胜在JAVA中,有一句口号我们众所周知,“一次编写,到处运行”。而支持JAVA这种特性的关键之处在于JAVA虚拟机和字节码存储格式,JAVA虚拟机不与JAVA变成语言捆绑,只与Class文件所关联...
深度剖析原理!
网易
云音乐java开发
虚拟化技术已经走过了三个时代,没有容器化技术的演进就不会有 Docker 技术的诞生。 (1)物理机时代:多个应用程序可能会跑在一台机器上。 (2)虚拟机时代:一台物理机器安装多个虚拟机(VM),一个虚拟机跑多个...
网易
支付-高性能NEJFlutter小程序动态化架构实践
大家好,今天跟大家分享的主题是《NEJFlutter小程序动态化高性能架构》,这是关于
网易
支付团队在Flutter小程序动态化方向上尝试的一套技术解决方案,一句
话
介绍NEJFlutter,就是用JavaScript开发业务逻辑、Flutter...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章