局部变量与全局变量 静态变量 常量 区别演示

该文通过代码示例展示了C语言中全局变量、静态局部变量和常量在不同内存区域的区别。全局变量存储在静态区,可被所有函数访问;静态局部变量在静态区,只在定义它的函数内可见,但其状态在函数调用间保持;常量存储在只读数据区,不可修改。文章还讨论了局部变量(存储在栈区)的生命周期和作用域特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
//局部变量与全局变量 静态变量 常量 区别演示

int x = 20; // 定义全局变量 静态区

const int c = 50; //常量区 只读 

//定义一个函数
void func()
{
    static int s = 1; // 静态局部变量 静态区
    int b = 30; //auto 局部变量
    const int f = 30;//常量化局部变量 只读 栈区
    //可以访问全局变量 x 得到x的当前值
    //f = 20; 只读 不能赋值
    printf("func: x=%d\n",x);
    printf("func: b=%d\n",b);
    printf("func: s=%d\n",s);
    b = b + 1;// b=31
    s = s + 1;// s=2
}


int main()
{
    int a = 10; //定义局部变量 栈区 
    x = 15; //变量赋值
    //变量访问 读和写 
    printf("a=%d,x=%d,c=%d\n",a,x,c);
    //调用函数
    func();
    x = 100;
    //b = 200; 局部变量不能夸函数访问
    func();
    // c = 500; 常量区只读
    return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值