C语言全局变量与局部变量(待补充)

  • 局部变量(Local Variable):定义在函数体内部的变量,作用域仅限于函数体内部。离开函数体就会无效。再调用就是出错。
#include <stdio.h>
int main(){
    int i = 10;
}

这里的i是一个定义在main()函数中的局部变量,作用域只能在main()函数中。如何理解?

  • 局部变量的作用域
例一
#include <stdio.h>
int main(){
    int i;
    for(i=0;i<10;i++){
        printf("%d\t",i);//内部正常使用
    }
    i += 10;
    printf("%d",i);//外部也能正常使用
}

该段代码能正常编译打印。

例二
#include <stdio.h>
void test();
int mian(){
    int i = 10;
    test();
    printf("%d",i);
}
void test(){
	i += 20;//编译失败,外部报错
}

这段代码通过函数回调的方法,将test函数中的定义的局部变量i回调至main()函数中使用,定义的i无法在main函数中使用,因为函数由上到下执行。i+=20执行前未定义i,故报错。

  • 全局变量(Global Variable):所有的函数外部定义的变量,它的作用域是整个程序,也就是所有的源文件,包括.c和.h文件。
#include <stdio.h>
int m = 100;//全局变量,各个函数中都能使用
void test1();

int main() {
    printf("%d\t", m); 
    test1();
}

void test1() {
    m += 200;
    printf("%d", m);
}

该段代码执行之前,首先在所有函数外定义一个全局变量m,test()函数中首次使用,后再main()函数中打印出,第二次在main()函数直接使用,打印100。


  1. 第一次编写时间2023年2月18日。

//不积小流,无以成江海。不积跬步,无以至千里。//

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值