变量

整型字面值在缺省的情况下总是默认为int家族中最短但足以容纳整个值的类型。

c语言的变量

枚举类型后面的值总是比前面的大1

c语言的变量

浮点数字面值在缺省的情况下都是double类型的。

c语言的变量

指针变量就是一个其值为另外一个(一些)内存地址的变量。

字符串常量的直接值是一个指针

Int  *a//*应靠近a

常量:

1、const

const int a=5;

int  const b=5;//两种方式都可以声明常量,选择一个你所喜欢习惯的。我喜欢在变量类型和修饰的表达式之间加const

int const *pci;//这是一个指向整型常量的指针,指针的值可以修改,但是它所指向的整型常量的值不能修改。

int * const cpi//这是一个指向整型的常量指针,它指向的值可以修改,但是它的值不能被修改。

2、#define

#define  MAX 50

作用域:

标识符的作用域就是该标识符可以被使用的区域,与它声明的位置有关。

代码块:位于一对花括号之间的所有语句称为代码块。

c语言的变量

链接属性:决定如何处理在不同文件中出现的相同标识符。

c语言的变量

 static(在函数定义时或代码块外部):只对缺省链接属性为external的声明才有改变链接属性为internal的效果。

extern第一次声明时,指定该标识符为external链接属性,第二次或以后使用时并不会改变该标识符原来的属性。

变量的存储类型是指存储变量的值的内存类型,决定它的值何时创建,何时销毁,能保持多久。

 c语言的变量

变量的缺省的存储类型由它声明的位置决定。

静态变量:凡是在任何代码块之外声明的变量总是存储于静态内存中。这类变量在程序运行之前创建,在程序的整个执行期间一直存在,始终保持原先的值,除非你给它赋一个不同的值或者程序结束。如果不显示的初始化,将会被初始化为0

自动变量;在代码块内部声明的变量,存储于堆栈中。在程序执行到声明变量的代码时就被创建,当程序的执行流离开该代码块时,该变量就自动被销毁。如果不显示的初始化,将会被初始化为垃圾值

static(在代码块内部)修饰自动变量时,使其变成静态存储类型。在程序执行期间一直存在。函数的形式参数不能声明为静态变量,因为实参总是在堆栈中传递给参数。

寄存器变量:register修饰自动变量,使其存储于机器的硬件寄存器中。存储在寄存器中的变量比存储在内存中的变量访问起来效率更高

寄存器变量的创建和销毁时间与自动变量相同。当函数开始执行时,它把所有需要使用的寄存器的内容都保存到堆栈中,等函数返回时,再将这些值复制回到寄存器中。因此,机器并不向你提供寄存器变量的地址。


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值