C语言--变量和初始化

【变量:c语言中开辟一定的内存空间用于存储数据。

如何去定义一个变量?(创建格式如下)

【存储类型 数据类型 变量名】例如:【auto int a 】auto表示存储类型,存储类型决定开辟空间在哪个内存区域。int表示数据类型 ,a表示变量命名。

  存储类型:c语言中有4种,分别是auto、static、etxern、register(用来指定数据存放的区域在下图)

auto:修饰的变量存储在栈区,用来修饰局部变量

static:修饰的变量存储在静态区,用来修饰全局变量和局部变量,修饰局部变量的时候,延长了局部变量的生命周期,如果局部变量没有初始化,变量值为0,如果初始化了,且智能初始化一次,后续初始化不改变他第一初始化参与运算的的值,修饰全局变量的时候,延长生命周期,限制全局变量的作用域只能在本文件使用,否则会报错。 

extern:修饰的变量存储在静态区,用来修饰全局变量,告诉编译器该变量在其他文件已经被定义过了,可以拿来使用。

register:修饰的变量存储在寄存器内,用来修饰局部变量

数据类型:int可以知道占用4个字节的内存大小,无论是哪一种数据类型,都占用一定的内存大小,其目的就是开辟一定的内存大小来放入数据。

变量名:a就表示这块内存空间的名字就是a。

变量从作用域来看分为全局变量和局部变量。

全局变量:定义在任何函数体内的变量

全局变量:定义在函数体外的变量

【初始化】:定义变量的时候对变量进行赋值。

                     int a=2;(初始化)

                     int b;(未初始化)

注意:局部变量在定义的时候如果未初始化,在32位的操作系统打印输出变量输出的值为一个随机数,64位操作系统因为系统优化打印输出变量会输出0。全局变量如果没有初始化,打印输出变量就会输出0.

C语言程序在编译后执行程序会开辟一段内存空间,如下图:


 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值