C语言完整函数教程.ppt

C语言完整函数教程

* 此时在工程管理页中出现了加入的两个文件(mylib.c和mylib.h)。 5.7.3 工程的创建 * 在工程管理页中点击mylib.c和mylib.h,则右边的代码区出现对应文件的源代码。 5.7.3 工程的创建 * 三、在当前工程中新建一个文件 菜单 工程-新建单元 5.7.3 工程的创建 * 此时将加入一个文件(未命名3)。选择保存时,指定加入文件的名字和保存路径(一般和工程在统一路径下)。如下图所示 5.7.3 工程的创建 * 四.从工程中移除一个文件。 如下图所示。此时该文件在磁盘里还是存在,只是不包含在当前工程中了。 5.7.3 工程的创建 * 五. 编译文件 若选择编译(Ctrl+F9),则编译当前工程中的所有文件。若只是想单独编译一个文件,则选择 编译当前文件(Shift+ Ctrl+F9)。 5.7.3 工程的创建 * 此时存放工程的路径下将出现以下文件: 注意:由于mylib.c和mylib.h存在于其他目录,所以在该工程文件所在目录中不出现。 .dev是工程文件。双击该文件即可打开工程。 5.7.3 工程的创建 * * int length(int num); int isLeap(int year); int max(int num1,int num2,int num3); * return(year%4==0 year%100!=0 || year%400==0); * 在C语言中,变量有以下四种存储类别:自动 (auto)、寄存器 (register)、静态 (static)、外部 (extern)。 变量的存储类别(storage class)和变量的作用域(scope)、连接(linkage)存在着一定联系。 变量的存储类别决定着变量存储空间在哪里分配(栈区、静态存储区、寄存器),决定了变量的存储期。 5.6 变量的存储类别 * 5.6 变量的存储类别 局部变量的存储类别可以是:自动 (auto),寄存器 (register) ,静态 (static) 全局变量的存储类别可以是:静态 (static) ,外部 (extern) int solutions; // solutions是全局变量 main() { int i; //i是局部变量 … { char ch; //ch是局部变量 } } * 5.6.1变量的存储类别 -auto 若局部变量按以下形式定义,则其具有auto(自动)存储类别: [auto] 数据类型 变量表;//auto可写可不写 1.存储期:存储空间在进入函数体或者复合语句体时在栈区分配,退出函数体或者复合语句体时被释放。 2.作用域:块作用域或者函数作用域。 3.连接:不能被其他文件中的函数访问。 4.若定义而不初始化,则其值是不确定的。如果初始化,则赋初值操作是在函数调用或进入复合语句时进行的,且每次都要重新赋一次初值。 * 5.6.1变量的存储类别 -auto main() { int x=5; …… { int y=7; …… } …… } x和y是存储类别为auto的局部变量 main() { auto int x=5; …… { auto int y=7; …… } …… } 等价于 * 一般情况下,变量的值都是存储在内存中的。为提高执行效率,C语言允许将局部变量的值存放到寄存器中,这种变量称为寄存器变量。定义格式如下: register 数据类型 变量表; 如: register int x=5; 1.存储期: 存储空间在进入函数体或者复合语句体时在寄存器分配,退出函数体或者复合语句体时被释放。 2.作用域:块作用域或者函数作用域。 3.连接:不能被其他文件中的函数访问。 4.允许使用的寄存器数目是有限的,不能定义任意多个寄存器变量。现代编译系统一般自动分配寄存器,所以程序员说明的寄存器变量不起作用。 5.6.2变量的存储类别 -register * 局部变量和全局变量均可以定义成具有static(静态)存储类别的变量。 具有static存储类别的局部变量 若局部变量按照以下形式定义,则其具有static存储类别。 定义格式: static 数据类型 内部变量表;

文档评论(0)

1亿VIP精品文档

相关文档