上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
register变量
作者:未知 申领版权
2012年01月24日 共有 1092 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    

register变量

为了提高效率,C语言允许将局部变量得值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。
    【例8.17】使用寄存器变量。
    int fac(int n)
    {register int i,f=1;
    for(i=1;i<=n;i )
    f=f*i
    return(f);
    }
    main()
    {int i;
    for(i=0;i<=5;i )
    printf("%d!=%d\n",i,fac(i));
    }
    
    说明:
    1) 只有局部自动变量和形式参数可以作为寄存器变量;
    2) 一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量;
    3) 局部静态变量不能定义为寄存器变量。
    

1.1.1 用extern声明外部变量

外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量作“外部变量声明”。表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。
    【例8.18】用extern声明外部变量,扩展程序文件中的作用域。
    int max(int x,int y)
    {int z;
    z=x>y?x:y;
    return(z);
    }
    main()
    {extern A,B;
    printf("%d\n",max(A,B));
    }
    int A=13,B=-8;
    
    说明:在本程序文件的最后1行定义了外部变量A,B,但由于外部变量定义的位置在函数main之后,因此本来在main函数中不能引用外部变量A,B。现在我们在main函数中用extern对A和B进行“外部变量声明”,就可以从“声明”处起,合法地使用该外部变量A和B。
    

 

相关新闻

C语言复习习题-程序改错
C语言复习习题--循环结构
C语言复习习题-选择结构
2006年广西区计算机等级考试二级C语言笔试试题及答案
C语言复习习题--结构体与共用体
C语言复习习题--编译预处理
c语言 上机编程题库(16)
c语言 上机编程题库(15)
c语言 上机编程题库(14)
c语言 上机编程题库(13)

您可能对这些感兴趣  

第7讲 综合分析BIM在运用与推广中的障碍问题
考核学生质量的困难
日本福岛核电站事故初步分析
论科技异化与科技人化
中国科技计划项目管理现状与对策
财政科技资金的审计重点和内容
软科学研究机构在政府决策中的功效、困境及对策研究
打造超级DOS系统(下)
DOS命令基础应用(6)
打造超级DOS系统(上)

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》