网站大量收购闲置独家精品文档,联系QQ:2885784924

函数、存储类和预处理程序b.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数、存储类和预处理程序b

概述 C语言说明变量是给出两方面信息: 数据类型和存储类别。数据类型,是变量的操作属性。存储属性反映了变量的如下一些特性: (1)变量的存储器类型 程序中的变量是存储在内存储器中的。实际上,除主存与辅存外,CPU中还有一个小小的临时存储器称为寄存器,用以存储一些反复被加工的数据,寄存器的存取速度比主存快。 C语言允许程序员区分是在主存(主存的数据区分两个部分:静态存储区和动态存储区)中还是在寄存器中开辟变量存储空间。 (2)变量的生命期:变量占据内存的时间期限. 静态变量:静态变量存储空间在程序的整个运行期间是固定的。一个变量被指定为静态,在编译时分配存储空间,程序一开始执行便被建立,直到该程序执行结束都是存在的。 动态变量:动态变量是在程序执行当中被动态建立、动态撤销的,仅存在于函数被调用期间。 (3)变量的作用域:变量出现的有效区域 局部变量:局部范围内有效 全局变量:从定义的位置开始到本文件的结束. 内部变量和外部变量 变量说明的位置不同,其作用域也不同,据此将C语言中的变量分为内部变量和外部变量。 内部变量:在一个函数内部说明的变量是内部变量,它只在该函数范围内有效。也就是说,只有在包含变量说明的函数内部,才能使用被说明的变量,在此函数之外就不能使用这些变量了。所以内部变量也称“局部变量”。 例如: int f1(int a) /*函数f1*/ { int b,c; …… } /*a,b,c作用域:仅限于函数f1()中*/ ? int f2(int x) /*函数f2*/ { int y,z; …… } /*x,y,z作用域:仅限于函数f2()中*/ main() { int m,n; …… } /*m,n作用域:仅限于函数main()中*/ 关于局部变量的作用域还要说明以下几点: 1.主函数main()中定义的内部变量,也只能在主函数中使用,其它函数不能使用。同时,主函数中也不能使用其它函数中定义的内部变量。因为主函数也是一个函数,与其它函数是平行关系。这一点是与其它语言不同的,应予以注意。 2.形参变量也是内部变量,属于被调用函数。 3.允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆。 4.在复合语句中也可定义变量,其作用域只在复合语句范围内。 如果定义点之前的函数需要引用这些外 部变量时,需要在函数内对被引用的外部变 量进行说明。(不带存储类别的外部变量说 明称为变量的定义性说明,带存储类别的外 部变量说明称为变量的引用性说明) 外部变量引用性说明的一般形式为: extern 数据类型 外部变量[,外部变量2……]; extern int d,e; 注意:外部变量的定义性说明和外部变量的引用性说明是两回事。外部变量的定义性说明必须在所有的函数之外,且只能定义一次。而外部变量的引用性说明,出现在要使用该外部变量的函数内,而且可以出现多次。 一般情况下,变量的值都是存储在内存中的。 为提高执行效率,C语言允许将局部变量的 值存放到寄存器中,这种变量就称为寄存器 变量。 (1)只有局部变量才能定义成寄存器变量,即全局变量不行。 (2)对寄存器变量的实际处理,随系统而异。例如,微机上的MSC和TC将寄存器变 量实际当作自动变量处理。 (3)允许使用的寄存器数目是有限的,不能定义任意多个寄存器变量。 #include stdio.h #define Pi 3.1416 main() {float r; double p,s; scanf(“%f”,r); p=2*Pi*r; s=Pi*r*r; printf(“p=%f\n”,p); printf(“s=%f\n”,s); } 文件包含形式: #include “文件名” 或为:#include 文件名 双引号或尖括号的区别: 用双引号:则系统先在引用被包含文件的C源程序所在的文件目录中寻找,若找不到,再按系统指定的标准方式寻找其它目录; 用尖括号:则仅查找按系统标准方式指定的目录。 宏替换又称宏定义,分为不带参数和带参数两种。 不带参数宏定义的一般形式为: #define 标识符 字符串 宏替换的作用范围是定义它的源文件。 # define Pi 3.1416 #define z x * y * 6.2.1 问题的提出 6.2.2 auto变量 6.2 变量的作用域与生命期 6.2.3 extem变量 6.2.4 static变量 6.2.5

文档评论(0)

155****8706 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档