知识点2——全局变量与局部变量的作用范围

全局变量 是在所有函数外部定义的变量(没有定义在某一个函数内),所有在其定义后的函数内部都可以使用这个变量。
局部变量 是在函数内部定义的变量,只能在函数内部使用

全局变量

#include<stdio.h>
int num = 5;//定义声明全局变量
int main(){
	printf("num1 = %d\n",num);
	printf("num1 = %d\n",&num);
	num = 555;//依旧是全局变量
	printf("num1 = %d\n",num);
	printf("num1 = %d\n",&num);
	return 0;
}

运行结果如下
在这里插入图片描述
此处num都是main()函数之前定义的全局变量,地址相同,在内存中的位置相同

局部变量

#include<stdio.h>
int num = 5;//全局变量
int main(){
	printf("num1 = %d\n",num);
	printf("num1 = %d\n",&num);
	int num = 555;//此num非彼num,定义了一个新的局部变量
	printf("num1 = %d\n",num);
	printf("num1 = %d\n",&num);
	return 0;
}

运行结果如下
在这里插入图片描述

此处num是重新定义的局部变量,在main()函数中有效,与全局变量num在内存中的位置不同

综合

#include <stdio.h>

int n = 10;  //全局变量

void func1(){
    int n = 20;  //局部变量
    printf("func1 n: %d\n", n);
}

void func2(int n){
    printf("func2 n: %d\n", n);
}

void func3(){
    printf("func3 n: %d\n", n);
}

int main(){
    int n = 30;  //局部变量
    func1();
    func2(n);
    func3();
    //代码块由{}包围
    {
        int n = 40;  //局部变量
        printf("block n: %d\n", n);
    }
    printf("main n: %d\n", n);

    return 0;
}

结果如下
在这里插入图片描述

总结

局部变量的作用域在于其定义的代码块中,全局变量的作用域在其定义之后直到程序结束。
一个变量只能被定义一次,全局变量和局部变量标识符(变量名称)可能一样,但是是不同的变量,他们在内存中的存储位置不同。


于 2023-05-11 第一次整理编写

学习时整理,不当之处烦请指正
码字不易,留个赞再走吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值