打印
[其它应用]

C语言中的函数参数传递方式

[复制链接]
1440|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
C语言中的函数参数传递方式,按值传递和按地址传递在内存中的表现是怎样的?

使用特权

评论回复
沙发
tpgf| | 2025-4-9 08:54 | 只看该作者
将结构体或数组传递给函数时,通常使用指针来代替引用传递

使用特权

评论回复
评论
懒癌晚期患者 2025-4-10 21:46 回复TA
指针携带的数据量可能会少一点 
板凳
Puchou| | 2025-4-11 09:12 | 只看该作者
对于大型数据结构如数组、结构体等,值传递会消耗较多的内存和时间,因为需要复制整个数据;无法在函数内部直接修改实际参数的值

使用特权

评论回复
地板
Xiashiqi| | 2025-4-11 10:55 | 只看该作者
指针传递是将实际参数的地址传递给函数的形参。在函数内部,通过指针可以直接操作实际参数的内存地址,从而修改实际参数的值

使用特权

评论回复
5
小海师| | 2025-4-11 12:44 | 只看该作者
C语言本身并不支持真正的引用传递,但可以通过模拟的方式来实现类似的效果,通常是通过传递指针来实现

使用特权

评论回复
6
Haizangwang| | 2025-4-11 14:32 | 只看该作者
指针传递:
#include <stdio.h>
void modifyValue(int *x) {
    *x = 10;
}
int main() {
    int a = 5;
    printf("Before modifyValue: %d


使用特权

评论回复
7
勇敢的大白菜| | 2025-4-11 16:10 | 只看该作者
tpgf 发表于 2025-4-9 08:54
将结构体或数组传递给函数时,通常使用指针来代替引用传递

结构体的使用,需要注意哪些问题呢?

使用特权

评论回复
8
Zuocidian| | 2025-4-12 22:41 | 只看该作者
值传递是C语言中函数参数的默认传递方式,在这种方式下,函数调用时,实际参数的值会被复制一份传递给函数的形参

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

113

帖子

0

粉丝