C语言学习笔记-变量

变量

变量(variable)可以理解成一块内存区域的名字。通过变量名,可以引用这块内存区域,获取里面存储的值。由于值可能发生变化,所以称为变量,否则就是常量了。

变量名

变量名在 C 语言里面属于标识符(identifier),命名有严格的规范。

  • 只能由字母(包括大写和小写)、数字和下划线(_)组成。
  • 不能以数字开头。
  • 长度不能超过63个字符。

注意,变量名区分大小写 TEST、Test、tests是三个不同的变量名

在C语言中,并非所有的此都能用作变量名,有些词在C语言中有特殊的含义,如我们已经学过的int,这种有特殊含义的词语被称作关键字。另外,C 语言还保留了一些词,供未来使用,这些保留字也不能用作变量名。下面就是 C 语言主要的关键字和保留字。

auto, break, case, char, const, continue, default, do, double, else, enum, extern, 
float, for, goto, if, inline, int, long, register, restrict, return, short, signed, 
sizeof, static, struct, switch, typedef,union, unsigned, void, volatile, while

变量的声明

C 语言的变量,必须先声明后使用。
如果一个变量没有声明,就直接使用,会报错。每个变量都有自己的类型(type)。

int a;

上面顶代码生命力变量a,并且指定类型为int
如果有几个变量可以在同一行声明

int a,b;
//等同于
int a;
int b;

注意,声明变量的语句必须以分号结尾。

变量的赋值

C 语言会在变量声明时,就为它分配内存空间,但是不会清除内存里面原来的值。这导致声明变量以后,变量会是一个随机的值。所以,变量一定要赋值以后才能使用。
一定一定一定要记得赋值,如果不赋值进行计算,可能在运行结果中出现十分离谱的现象
赋值操作通过赋值运算符 = 进行

在C语言中一定要注意 == 和 = 的区别,其中=是本段所讲的赋值运算符,意思是把右边的值赋给左侧的变量。但是 = =的意思是判断作用两边的值是否相等!

int num;
num=10086;

上面的示例中,第一行声明了一个整数变量num,第二行给这个变量进行赋值。
变量的值应该与声明变量的类型保持一致,本例中变量声明的是整型,就应该赋值为整数。

C 语言有左值(left value)和右值(right value)的概念。左值是可以放在赋值运算符左边的值,一般是变量;右值是可以放在赋值运算符右边的值,一般是一个具体的值。这是为了强调有些值不能放在赋值运算符的左边,比如x = 1是合法的表达式,但是1 = x就会报错。

变量的作用域

作用域(scope)指的是变量生效的范围。C 语言的变量作用域主要有两种:全局变量和局部变量。

全局变量指的是,在源码文件顶层声明的变量,从声明的位置到文件结束都有效。
局部变量指的是由大括号({})组成的代码块,它形成一个单独的作用域。凡是在块作用域里面声明的变量,只在当前代码块有效,代码块外部不可见。

代码块可以嵌套,即代码块内部还有代码块,这时就形成了多层的块作用域。它的规则是:内层代码块可以使用外层声明的变量,但外层不可以使用内层声明的变量。如果局部变量与全局同名,那么会在当前作用使用局部变量,忽略全局变量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值