C语言进阶——8.变量分类

本文详细介绍了C语言中不同类型的变量,包括本地变量、全局变量、全局静态变量和静态本地变量。本地变量仅在定义的代码块内有效,离开时失效;全局变量在整个源程序中有效,但在不同文件中可能被隐藏;全局静态变量限于定义它的源文件内,具有全局生命周期;静态本地变量则在函数内部保持其值,拥有全局生命周期但作用域局限于函数内。此外,文章还强调了最佳实践,如避免返回本地变量的指针和慎用静态变量。
摘要由CSDN通过智能技术生成

C语言进阶——8.变量分类

1. 本地变量/局部变量
1.1 本地变量/局部变量是什么?

在大括号内定义的变量就是本地变量/局部变量。

1.2 本地变量/局部变量有什么特点?
  1. 本地变量是定义在代码块内的,可以定义在函数的块内,可以定义在语句的块内。
for(int i=0;i<10;++i){
   
    printf("%d ",i);
}
printf("%d ",i);

可以定义在一个随意的大括弧里面。

{
   
    int n = 0;
    printf("%d ",n);
}
printf("%d ",n);
  1. 程序进入块前,内部变量不存在,离开时失效。
  2. 块外定义的变量,块内仍然有效。

函数的每次运行,都会产生一个独立的变量空间,在这个空间中的变量,是函数这次运行独有的。

  • 定义在函数内部的变量就是本地变量
  • 参数也是本地变量
1.3 本地变量/局部变量初始化
  1. 本地变量不会默认初始化
  2. 参数在进入函数时被初始化。

本地变量/局部变量的生存期和作用域都是在大括号内。

2. 全局变量
2.1 全局变量是什么?

定义在函数外面的变量称为全局变量

int n;
int main(){
   
    int m;
    printf("n=%d\m=%d\n",n,m);
}
2.2 全局变量有什么特点?

全局变量有全局的生存周期和作用域。

  1. 不属于任何函数。
  2. 所有函数内部都可以使用。
int<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值