c语言第6章0分析.ppt

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

变量的存储类型分为两大类: 静态存储类和动态存储类 具体分为如下四种: 1)自动变量(auto) 2)静态变量(static) 3)寄存器变量(register) 4)外部变量(extern) 是局部变量,它的作用域遵循局部变量的规定。 定义格式: auto 类型名 变量名; 如: int f(int a) {auto int b,c=3; /*auto一般忽略不写*/ …} 存储在动态存储区内,即在函数被调用时才被分配存储单元,调用结束后,释放所占用内存单元;如不声明为static存储类别,都是动态的分配存储空间。函数中的形参和变量都属于auto型。 §6.8.2 auto 变量 占用静态存储区, 用static说明 格式: static 类型名 变量名; § 6.8.3 用static声明局部变量 说明: 在编译时赋初值(仅赋一次值),下次再执行时,跳过它. 如定义时没赋初值,编译时会自动赋值. 属于静态存储类别,在程序整个运行期间都不释放存储空间. 只能在定义它的函数内被使用,(存在但不能被其它函数使用) 结果 1 2 3 4 5 存储在寄存器中的,用register表示。 register 类型名 变量名 说明: 一般只限于int,char或指向整型\字符型的指针,且只用于自动变量和形参. 放在CPU的一个寄存器中,通常为了加快程序运行速度,把使用频率较高的变量定为register类型 寄存器个数有限,不要都定义成register。 对寄存器的占用是动态的。 § 6.8.4 register变量(了解即可) 如果在所有函数之外定义的变量没有指定其存储类别,它就是一个外部变量。 外部变量是全局变量,它的作用域符合全局变量的规定,它的作用域是从它的定义点到本文件的末尾。 外部变量保存在静态存储区内,在程序运行期间分配固定的存储单元,其生存期是整个程序的运行期。 在定义时初始化,没有显示初始化的外部变量由编译程序自动初始化为0。 § 6.8.5 用extern声明外部变量 1.内部函数 如果一个函数只能被本文件中其他函数所调用,称为内部函数. static 类型 函数名(形参数) § 6.9 内部函数和外部函数 2.外部函数 定义时,函数首部加extern. 例: extern int fun(int a,int b) 在需要调用此函数的文件中,用extern声明所用的函数是外部函数 程序举例 例:编写一个函数swap用于交换两个整数的值。 方法一: swap (int x, int y) { int t; t=x;x=y;y=t;} main( ) { int a,b; scanf(“%d%d”,a,b); swap(a,b); printf(“%d%d\n”,a,b); } 方法二: int x,y; swap ( ) { int t; t=x;x=y;y=t;} main( ) {scanf(“%d%d”,x,y); swap( ); printf(“%d%d\n”,x,y); } 课后作业 教材习题6 第6、7、9、11、14、15、17、18题 4.不需要返回值的函数 1)如果函数中没有使用return语句,函数返回的是一个不确定的数值 2)如果一个函数不需要返回值(只是表示一个过程或完成一个操作),可以用void做类型说明 如: void printmessage() /*1.只是完成输出字符串, 不需要返回一个具体的值 2.为了使程序有良好的可读性并减少出错,凡不要求返回值的函数都应定义为空类型。*/ 3)如一函数为void类型,就不允许再引用它的返回值 a= printmessage ( ) × 一、 函数调用的一般形式 在程序中是通过对函数的调用来执行函数体的,函数调用的一般形式为: 函数名(实参表列) 例:max(a,b) 说明: 1. 如调用无参函数,实参表列可忽略,但括号不能省。 2. 实参的个数和形参一般相等。 3. 实参和形参的类型应一一对应,必要时使用类型转换。 注意: 不同系统中,实参的计算顺序不同,为避免

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档