C语言学习第18篇---值和引用函数的区别

值调用;
#include <stdio.h>

void change(int num) {
printf("Before adding value inside function num=%d \n", num);
num = num + 10;
printf("After adding value inside function num=%d \n", num);}

int main() {
int x = 10;
// 更新之前参数x的值
printf("Before function call x=%d \n", x);
change(x); // passing value in function
// 更新之后参数x的值
printf("After function call x=%d \n", x);

return 0;}


输出:
Before function call x=10
Before adding value inside function num=10
After adding value inside function num=20
After function call x=10 //原始值是没有改变的



引用调用:
#include <stdio.h>

// 定义函数,注意这里的参数名称前加了一个星号(*)void change2(int *num) {
printf("Before adding value inside function num=%d \n", *num);
(*num) += 100;
printf("After adding value inside function num=%d \n", *num);}

int main() {
int x = 200;

printf("Before function call x=%d \n", x);
// 注意,下面传递的参数名称前加了一个符号(&)
change2(&x);// passing reference in function
printf("After function call x=%d \n", x);

return 0;}


输出:
Before function call x=200
Before adding value inside function num=200
After adding value inside function num=300
After function call x=300 //被改变了













猜你喜欢

转载自blog.csdn.net/super828/article/details/80439771