当前位置:  开发笔记 > 编程语言 > 正文

全局变量作为C中函数调用的参数

如何解决《全局变量作为C中函数调用的参数》经验,为你挑选了1个好方法。

"在函数参数中传递全局变量时,是通过引用还是值传递?"



1> Donald Duck..:

它按值传递.以下代码显示了这种情况:

#include 

int global = 5;

void foo(int bar){
    bar = 6;
    printf("bar = %d\nglobal = %d", bar, global);
}

int main(){
    foo(global);
    return 0;
}

输出是:

bar = 6

全球= 5

在此代码global作为参数传递foo,我们调用此参数bar.因此,在一开始globalbar都具有值5.两个不同的变量,但随后bar被分配值6,因为争论被值所引用,global保持在5.

要通过引用传递变量,请使用指针:

#include 

int global = 5;

void foo(int *bar){
    *bar = 6;
    printf("bar = %d\nglobal = %d", *bar, global);
}

int main(){
    foo(&global);
    return 0;
}

现在的输出是:

bar = 6

全球= 6

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有