[应用相关] C语言规则很简单:所有参数都是"传值调用"

[复制链接]
2445|33
sesefadou 发表于 2024-10-23 20:14 | 显示全部楼层
函数可以独立于调用者工作,不需要知道调用者的上下文。
mikewalpole 发表于 2024-10-23 20:42 | 显示全部楼层
当数组作为函数参数时,函数接收到的是数组的首地址,这意味着函数内部可以通过这个地址访问和修改数组元素,这种修改会影响到函数外部的数组。
hilahope 发表于 2024-10-23 21:01 | 显示全部楼层
函数不能意外地修改调用者的变量,这有助于避免一些难以追踪的错误。
wilhelmina2 发表于 2024-10-23 21:24 | 显示全部楼层
对于结构体和联合体类型的参数,如果它们是通过值传递的,那么整个结构体或联合体的内容都会被拷贝到函数内部。
benjaminka 发表于 2024-10-23 22:00 | 显示全部楼层
在C语言中,函数参数确实是通过传值调用(call by value)的方式进行传递的。这意味着当一个函数被调用时,实际参数的值被复制到形式参数中。
sesefadou 发表于 2024-10-24 21:31 | 显示全部楼层
在函数内部修改调用者的变量,可以使用指针。通过传递变量的地址,函数可以修改原始变量的值。
mattlincoln 发表于 2024-10-25 08:37 | 显示全部楼层
指针本身是通过值传递的(即传递指针的副本),但指针所指向的数据并不是。因此,通过指针可以在函数内部修改调用函数中的实际数据。
burgessmaggie 发表于 2024-10-25 09:41 | 显示全部楼层
为了克服这些缺点,C语言提供了指针和引用作为替代方案。通过传递变量的指针,函数可以修改原始变量的值。
jimmhu 发表于 2024-10-25 13:27 | 显示全部楼层
在C语言中,数组名在大多数情况下会被编译器解释为指向数组首元素的指针。
geraldbetty 发表于 2024-10-25 14:09 | 显示全部楼层
如果需要在函数内部修改外部变量,必须使用指针作为参数。
pentruman 发表于 2024-10-25 14:41 | 显示全部楼层
在 C 语言中,虽然大部分情况下函数参数是传值调用,但存在一种特殊情况,即当传递数组作为函数参数时,实际上传递的是数组首元素的地址,这属于传址调用的一种形式。
感觉很反感mva 发表于 2024-12-31 19:39 | 显示全部楼层
本帖最后由 感觉很反感mva 于 2024-12-31 19:40 编辑

所有的参数都是通过传值方式传递的。
QQ截图20220327162808.png
QQ截图20220327163005.png
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1ZGFyb290,size_16,color_FFFFFF,t_70.jpg
OKAKAKO 发表于 2024-12-31 22:04 | 显示全部楼层
C语言规则很简单:所有参数都是"传值调用"
 楼主| LOVEEVER 发表于 2024-12-31 23:05 | 显示全部楼层
传值调用大家可以都了解一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部