为何Java编程语言独独采用仅值传递的机制而非引用传递?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1666个文字,预计阅读时间需要7分钟。
参数传递:在我们日常编写代码的过程中,调用函数可能是最常见的操作了。那么,在调用函数时,参数是如何传递的呢?
值传递:相信有很多都是学C语言入门的,刚开始写代码时,都会用到值传递。
参数传递
在我们日常编写代码的过程中,调用函数可能是最常见的操作了。那么,在调用函数时,参数是怎么样传递的呢?
值传递
相信有很多人都是学C语言入门的,刚开始写代码时,用的最多的就是值传递了。
void plus_one(int a){ a++; printf("a: %d", a); } int main(){ int n = 10; plus_one(n); printf("n:%d", n); return 0; }
这是一个简单的值传递的例子,无需多言,plus_one函数的作用就是将传进来的数加一,然后输出。所谓值传递,就是直接将实参n的值赋给形参a,赋值完成之后,两者再无瓜葛。
因此,上面的代码可以等效为:
int main(){ int n = 10; // plus_one start int a; a = n; a++; printf("a: %d", a); // plus_one end printf("n:%d", n); return 0; }
可以看到,值传递简单直观,然而,调用函数并不能改变实参n的值。
指针传递
那么,当我们需要改变实参的值的时候,我们就会想到使用指针传递,也就是所谓的地址传递。
本文共计1666个文字,预计阅读时间需要7分钟。
参数传递:在我们日常编写代码的过程中,调用函数可能是最常见的操作了。那么,在调用函数时,参数是如何传递的呢?
值传递:相信有很多都是学C语言入门的,刚开始写代码时,都会用到值传递。
参数传递
在我们日常编写代码的过程中,调用函数可能是最常见的操作了。那么,在调用函数时,参数是怎么样传递的呢?
值传递
相信有很多人都是学C语言入门的,刚开始写代码时,用的最多的就是值传递了。
void plus_one(int a){ a++; printf("a: %d", a); } int main(){ int n = 10; plus_one(n); printf("n:%d", n); return 0; }
这是一个简单的值传递的例子,无需多言,plus_one函数的作用就是将传进来的数加一,然后输出。所谓值传递,就是直接将实参n的值赋给形参a,赋值完成之后,两者再无瓜葛。
因此,上面的代码可以等效为:
int main(){ int n = 10; // plus_one start int a; a = n; a++; printf("a: %d", a); // plus_one end printf("n:%d", n); return 0; }
可以看到,值传递简单直观,然而,调用函数并不能改变实参n的值。
指针传递
那么,当我们需要改变实参的值的时候,我们就会想到使用指针传递,也就是所谓的地址传递。

