# C 学习笔记-3.指针中参数传递方式总结
编辑
25
2024-07-07
C 学习笔记-3.指针中参数传递方式总结
C语言中函数参数的传递方式主要有两种:值传递和引用传递。
值传递
函数内部只能得到实参的一个副本,对副本的赋值操作不会影响到实参。
默认情况下,C语言函数参数的传递方式是值传递。
int change(int x) {
x = 100;
return 100;
}
int main() {
int a = 10;
printf("%d\n", a); // 输出 10
change(a);
printf("%d\n", a); // 输出 10
}
引用传递
函数内部能够直接访问实参,并可以改变实参的值。
使用&符号可以实现引用传递。
`void change(int ptr) {
ptr = 100;
}int main() {
int a = 10;
int *ptr = &a;printf(“%d\n”, a); // 输出 10
change(ptr);
printf(“%d\n”, a); // 输出 100
}`
总结
- 了解C语言函数参数的传递方式,对于理解和编写C语言程序非常重要。
- 在需要改变实参的值时,可以使用引用传递。
额外知识
- 指针变量本质上是一个存储了内存地址的变量。
- 函数调用指针变量的时候,会改变指针变量指向的值,而不是复制一份。
- 函数内部对指针变量的赋值操作,不会改变指针变量本身的值。
附:
值传递
假设你有一个装满10个苹果的篮子,你想把这个篮子送给朋友。
在值传递中,你把篮子里的苹果复制一份,然后把复制的苹果送给朋友。
这样,你的朋友就得到了10个苹果,但你的篮子里的苹果数量并没有改变。
C语言中的值传递
在C语言中,函数参数的默认传递方式是值传递。
这意味着,当你把一个变量作为参数传递给函数时,函数内部只会得到该变量的一个副本。
引用传递
如果你想让函数内部能够改变实参的值,你需要使用引用传递。
在引用传递中,你把篮子的地址送给朋友。
这样,你的朋友就能够直接访问你的篮子,并可以改变篮子里的苹果数量。
- 0
- 0
-
分享