c语言局部变量有哪三种类型?

Python025

c语言局部变量有哪三种类型?,第1张

C语言的变量有三种类型:char,int,float,double。

C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。变量的类型决定了变量占用的存储空间,定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。

auto变量是用堆栈方式占用储存器空间,因此,当执行此区段是,系统会立即为这个变量分配存储器空间,而程序执行完后,这个堆栈立即被系统收回,在大括号{}内声明。

扩展资料:

定义和使用变量时,通常要把变量名定义为容易使用阅读和能够描述所含数据用处的名称,而不要使用一些难懂的缩写如A或B2等。例如:假定正在为水果铺编一个销售苹果的软件。需要两个变量来存储苹果的价格和销量。此时,可以定义两个名为Apple_Price和Apple_Sold的变量。

每次运行程序时,用户就这两个变量提供具体值,这样看起来就非常直观。具体方法是:通过用一个或多个单词组成有意义的变量名来使变量意义明确。例如,变量名SalesTaxRate就比Tax或Rate的意义明确得多。

参考资料来源:百度百科-变量

turbo

c2.0支持四种变量存储类型。说明符如下:

auto

static

extern

register

下面分别来介绍。

一、auto

auto称为自动变量。

局部变量是指在函数内部说明的变量(有时也称为自动变量)。用关键字auto进

行说明,

当auto省略时,

所有的非全程变量都被认为是局部变量,

所以auto实际上

从来不用。

局部变量在函数调用时自动产生,

但不会自动初始化,

随函数调用的结束,

个变量也就自动消失了,

下次调用此函数时再自动产生,

还要再赋值,

退出时又自

动消失。

二、static

static称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。

1.

静态局部变量

它与局部变量的区别在于:

在函数退出时,

这个变量始终存在,

但不能被其它

函数使用,

当再次进入该函数时,

将保存上次的结果。其它与局部变量一样。

2.

静态全程变量

turbo

c2.0允许将大型程序分成若干独立模块文件分别编译,

然后将所有模块

的目标文件连接在一起,

从而提高编译速度,

同时也便于软件的管理和维护。静态

全程变量就是指只在定义它的源文件中可见而在其它源文件中不可见的变量。它与

全程变量的区别是:

全程变量可以再说明为外部变量(extern),

被其它源文件使用,

而静态全程变量却不能再被说明为外部的,

即只能被所在的源文件使用。

三、extern

extern称为外部变量。为了使变量除了在定义它的源文件中可以使用外,

还要

被其它文件使用。因此,

必须将全程变量通知每一个程序模块文件,

此时可用

extern来说明。

四、register

register称为寄存器变量。它只能用于整型和字符型变量。定义符register说

明的变量被turbo

c2.0存储在cpu的寄存器中,

而不是象普通的变量那样存储在内

存中,

这样可以提高运算速度。但是turbo

c2.0只允许同时定义两个寄存器变量,

一旦超过两个,

编译程序会自动地将超过限制数目的寄存器变量当作非寄存器变量

来处理。因此,

寄存器变量常用在同一变量名频繁出现的地方。

另外,

寄存器变量只适用于局部变量和函数的形式参数,

它属于auto型变量,

因此,

不能用作全程变量。定义一个整型寄存器变量可写成:

register

int

a

对于以上所介绍的变量类型和变量存储类型将会在以后的学习中,

通过例行程

序中的定义、使用来逐渐加深理解。

基本类型有:

int

short

char

float

double

long

unsigned

指针

还有数组、结构体、联合(union)等组合数据类型,此外还可以自定义数据类型。