C语言基础教程(二)数据类型、变量和运算符(7)

4.3 变量存储类型
Turbo C2.0支持四种变量存储类型。说明符如下:
auto static extern register
下面分别来介绍。
一、auto
auto称为自动变量, 已在前面作了介绍, 这里不再重复。
二、static
static称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。
1. 静态局部变量
它与局部变量的区别在于: 在函数退出时, 这个变量始终存在, 但不能被其它函数使用, 当再次进入该函数时, 将保存上次的结果。其它与局部变量一样。
2. 静态全程变量
Turbo C2.0允许将大型程序分成若干独立模块文件分别编译, 然后将所有模块的目标文件连接在一起, 从而提高编译速度, 同时也便于软件的管理和维护。静态全程变量就是指只在定义它的源文件中可见而在其它源文件中不可见的变量。它与全程变量的区别是: 全程变量可以再说明为外部变量(extern), 被其它源文件使用,而静态全程变量却不能再被说明为外部的, 即只能被所在的源文件使用。
三、extern
extern称为外部变量。为了使变量除了在定义它的源文件中可以使用外,还要被其它文件使用。因此,必须将全程变量通知每一个程序模块文件,此时可用extern来说明。
例如:
文件1为file1.c 文件2为file2.c
int i, j;/*定义全程变量*/ extern int i, j;/*说明将i, j从
文件1中复制过来*/
char c; extern char c; /*将c复制过来*/
void func1(int k); func2() /*用户定义函数*/
{
main() static float k;/*定义静态变量*/
{ i=j*5/100;
func1(20);/*调用函数*/ k=i/1.5;
func2(); .
. .
. .
. }
}
func1(int k) /*用户定义函数*/
{
j=k*100;
}
对于以上两个文件file1.c和file2.c, 用Turbo C2.0的集成开发环境进行编译连接时,首先应建立一个.prj的文件。例如file.prj, 该文件内容如下:
file1.c
file2.c
然后将file.prj的文件名写入主菜单Project中的Project Name项中。再用F9编译连接,就可产生一个文件名为fioe.exe的可执行文件。
外部变量和FORTRAN语言中的COMMOM定义的公共变量一样。
四、register
register称为寄存器变量。它只能用于整型和字符型变量。定义符register说明的变量被Turbo C2.0存储在CPU的寄存器中, 而不是象普通的变量那样存储在内存中, 这样可以提高运算速度。但是Turbo C2.0只允许同时定义两个寄存器变量, 一旦超过两个, 编译程序会自动地将超过限制数目的寄存器变量当作非寄存器变量来处理。因此, 寄存器变量常用在同一变量名频繁出现的地方。
另外, 寄存器变量只适用于局部变量和函数的形式参数, 它属于auto型变量,因此,不能用作全程变量。定义一个整型寄存器变量可写成:
register int a;
对于以上所介绍的变量类型和变量存储类型将会在以后的学习中,通过例行程序中的定义、使用来逐渐加深理解。

时间: 2024-08-03 09:56:41

C语言基础教程(二)数据类型、变量和运算符(7)的相关文章

C 语言基础教程(我的C之旅开始了)[八]_C 语言

19. 基本数据类型:复数类型和虚数类型 C99 新增了复数类型(_Complex)和虚数类型(_Imaginary).简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex.对于 float _Complex 类型的变量来说,它包含两个 float 类型的值,一个用于表示复数的实部(real part),另一个用于表示虚部(imaginary part).类似地,double _Complex 包含两个

VBScript基础教程之四VBScript变量

vbscript|变量|基础教程 什么是变量? 变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息.例如,可以创建一个名为 ClickCount 的变量来存储用户单击 Web 页面上某个对象的次数.使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值.在 VBScript 中只有一个基本数据类型,即 Variant,因此所有变量的数据类型都是 Variant. 声明变量 声明变量的一种方式是使用 Dim

Swift语言指南(一)--语言基础之常量和变量

原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swift 提供了 C 与 Objective-C 中的所有基础类型,包括表示整数的 Int,表示浮点数的 Double 与 Float,表示布尔值的 Bool,以及表示纯文本数据的 String. Swift 还为两个基本集合类型 Array 与 Dictionary 提供了强大的支持,详情可参考 (集合

【jQuery教程】jquery基础教程二(鼠标点击事件)

下面我们来看看jquery如何给 DOM 各个元素批量绑定事件 <SCRIPT LANGUAGE="JavaScript"> <!-- $(document).ready(function() {     $("div").click(function(){//$("div")就是页面中所有的 div标签       alert("Hello World!");     }) }) //--> <

易语言基础教程之制作简易浏览器_易语言

方法/步骤 首先打开易语言: 点击--工具--支持库配置--全选--确认 之后点击属性--拉宽 之后点击标题输入测试浏览器 拉一个编辑框和按钮最后一个超文本浏览框(自己找) 之后双击按钮输入代码: .版本 2 .支持库 HtmlView .子程序 _按钮1_被单击 超文本浏览框1.地址 = 编辑框1.内容 按F5测试,好的行了 注意事项 编辑框要输入网址,不能输入其他的OK. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜

C语言基础教程(二)数据类型、变量和运算符(2)

说明: 1. 象其它一些语言一样, Turbo C的变量在使用之前必须先定义其数据类型,未经定义的变量不能使用.定义变量类型应在可执行语句前面, 如上例main()函数中的第一条语句就是变量定义语句, 它必须放在第一各执行语句clrscr()前面.2. 在Turbo C中, 大.小写字母是有区别的, 相同字母的大.小写代表不同的变量.3. Turbo C程序的书写格式非常灵活, 没有严格限制.例1的主函数可写成: main(){char c; clrscr(); gotoxy(12,3); pu

C语言基础教程(二)数据类型、变量和运算符(10)

3. 指针型变量的初始化 例如: main() { int *i=7899; /*定义整型数指针变量并初始化*/ float *f=3.1415926; /*定义浮点数指针变量并初始化*/ char *s="Good"; /*定义字符型指针变量并初始化*/ . . . } 二.变量的赋值 变量赋值是给已说明的变量赋给一个特定值. 1. 单个变量的赋值 (1) 整型变量和浮点变量 这两种变量采用下列格式赋值 变量名=表达式; 例如: main() { int a, m; /*定义局部整型

零基础易语言入门教程(二)之编程思路_易语言

易语言简介: 易语言是一门以中文作为程序代码编程语言.以"易"著称.创始人为吴涛.早期版本的名字为E语言.易语言最早的版本的发布可追溯至2000年9月11日.创造易语言的初衷是进行用中文来编写程序的实践.从2000年至今,易语言已经发展到一定的规模,功能上.用户数量上都十分可观. 上一篇跟大家讲了零基础易语言入门教程(一)编写第一个程序,然后接下来大家应该自己把支持库和易语言组件里面的控件全部认真的看一下,下面我直接跟大家分享下易语言简单编程思路. 方法和步骤如下所示: 1.易语言程序

MS SQL基础教程:SQL变量

Transact-SQL中可以使用两种变量,一种是局部变量(Local Variable)另外一种是全局变量(Global Variable). 4.4.1 局部变量 局部变量是用户可自定义的变量,它的作用范围仅在程序内部.在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用.局部变量必须以"@"开头,而且必须先用DECLARE命令说明后才可使用.其说明形式如下: DECLARE @变量名 变量类型 [@变量名 变量类型-] 其中变量类型可以是SQL Server

C语言基础教程(四)指针、结构、联合和枚举(14)

二.位结构位结构是一种特殊的结构,在需按位访问一个字节或字的多个位时,位结构比按位运算符更加方便.位结构定义的一般形式为:struct位结构名{ 数据类型 变量名: 整型常数; 数据类型 变量名: 整型常数; } 位结构变量; 其中:数据类型必须是int(unsigned或signed).整型常数必须是非负的整数,范围是0~15,表示二进制位的个数,即表示有多少位. 变量名是选择项,可以不命名,这样规定是为了排列需要.例如:下面定义了一个位结构.struct{ unsigned incon: 8