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

第六讲 c++程序的结构.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * 第6讲 C++程序的结构 电子科技大学2010春季 6.1 变量的类型 int g=100000; int sum(int x, int y) { int sum=0; for(int i=x;i=y;i++) sum=sum+i; return sum; } void main() { int x=1,y=100; coutsum(x,y)+gendl; } 1 2 3 4 5 6 7 8 9 10 11 12 13 g为全局变量 sum()中 x、y为局部变量 main()中的 x、y为局部变量 6.1.2 变量的存储类型 1.auto说明符 局部变量默认存储类型为auto。 2. register说明符 register说明符在定义变量时说明此变量存储在CPU中的寄存器中,以加快存取速度。 3. extern说明符 如果一个完整的计算机程序很大,分成多个模块,放在不同的文件中。对于所有模块共同使用的全局变量,只在一个模块中定义全局变量,在其他模块中用extern说明这是一个“外来”的全局变量。 #include iostream using namespace std; extern void p1dispG(); extern void p2dispG(); extern void p2dispg(); int G=0,g=0; void main() { p1dispG(); p2dispG(); p2dispg(); coutin p G=Gendl; coutin p g=gendl; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include iostream using namespace std; extern int G; void p1dispG() { G=11; coutin p1 G=Gendl; } 2 3 4 5 6 7 8 9 #include iostream using namespace std; extern int G; extern int g; void p2dispG() { G=22; coutin p2 G=Gendl; } void p2dispg() { g=222; coutin p2 g=gendl; } 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6.1.2 变量的存储类型 4. static说明符 static可用来声明全局静态变量和局部静态变量。当声明全局静态变量时,全局静态变量只能供本模块使用,不能被其它模块再声明为extern变量。 static 数据类型 变量名=初值; 注意: 当一个局部变量声明为static变量,它既具有局部变量的性质:只能在函数体局部存取;又具有全局变量的性质:函数多次进入,变量的值只初始化一次。因此静态局部变量实质是一个供函数局部存取的全局变量。 #includeiostream using namespace std; void fun() { static int n; int m=0; n++; m++; coutm=m, n=nendl; } void main() { for (int i=0;i4;i++) fun(); } 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 运行结果: m=1 n=1 m=1 n=2 m=1 n=3 m=1 n=4 static型变量 静态局部变量n只是在函数fun()第一次进入时初始化0,随后每次进入不再赋初值 6.1.3 变量在内存中的存储 当一个程序准备运行时,操作系统会为程序分配一块内存空间,C++程序的内存通常被分为四个区: ①全局数据区(data area) ②代码区(code area) ③栈区(stack area) ④堆区(heap area) 全局变量、静态变量、字符串常量、常变量存放在全局数据区;所有的函数和代码存放在代码区;为运行函数而分配的函数参数、局部变量、返回地址存放在栈区;堆区用于动态内存分配。

文档评论(0)

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

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

1亿VIP精品文档

相关文档