标识符范围
标识符的范围即程序所能“看到”标识符的部分,范围的类型通常由你声明变量的地方决定(除过标签,它往往具有函数范围),下面是四种可能的范围:
文件域:
如果你在所有的程序块和参数列表这外声明了一个标识符,那么它将具有文件域,声明之后在任意地方使用它直到翻译单元结束。
块域:
除过标签,在块中声明的标识符具有块域,你只能在声明它的最小块域中使用它,最小块域通常为一个函数的函数体,在C99中,声明不必放在函数块的最前面,在一个函数中定义的参数名也具有块域,在函数体中有效。
函数原型域:
函数原型中的参数名具有函数原型域,因为这些参数名在原型外没有意义,它们往往用做注释,可被忽略。
函数域:
标签的范围通常为它所出现在函数块,即使它出现在嵌套的块中,换句话说,你可以使用goto语句跳到同一函数中任意具有此标签的地方(跳进一个嵌套的块中是个不好的主意)。
一个标识符的范围从它定义之后就开始,但是,结构体,标签,联合体、枚举类型和枚举常量是个例外,它们的范围在声明出现后即开始,所以它们可以在声明本身中再次引用,下面的为一个结构体类型的声明,最后一个成员为结构next,是一个刚声明的结构的指针:
在这个代码段中,标识符node, next, printNode 和printList均有文件域,参数ptrNode具有文件原型域,变量first和ptr具有块域。
在一个嵌套中,可以声明一个外部已经声明的标识符,,即使新标识符名称相同,如果你这样做,新标识符将有块或函数原型域,且块域或函数原型域将是一外层域的真子集,在这种场景下,内部标识符隐藏了外部的声明,所以外部声明的变量或函数在内部是不可见的,例如,下面的声明是请允许的:
在本例中,long类型的变量x声明在main()中,隐藏了double类型的变量x,因此,在main()中没有办法直接访问double类型的变量x,此外,if条件块中,float型变量x又隐藏了long类型的变量x。
分享到:
相关推荐
02H3 C VEPC3200核心网故障处理手册pdf 03H3CBBU3100系列基带处理单元故障处理手册,p 04H3 C VEPC3200产品开局自检手册pdf 05H3 C VMEGW3200技术白皮书pdf 06移动通信技术概述pdf 07H3CEPC3108核心网特性手册(E2123)...
C程序员在编写程序时手头一定要有这本书。在这本书中,C 语言专家 Peter Prinz和Tony Crawford为你提供大量的编程参考信息。全书叙述清晰,语句简洁...Peter 和 Tony 所编写的这本书会成为C语言程序员必备的工作利器!
·提供了mysql语句、函数、配置选项和实用工具的一个完整手册。 ·给出了几个指导章节用于帮助新手入门。 ·为php、perl和c语言提供了应用程序编程接口(api)。 ·在每章的api开头部分提供了简要的指南。 ...
C语言核心技术是C语言工程师常用的手册知道,是外文翻译过来的,通俗易懂,适合初学者以及开发人员
目前还没翻译完成,持续更新中,第一次翻译,遇到其中的错误请大家留言提醒,谢谢。
ALIENTEK STM32H750核心板底板 PDF原理图+AD集成封装库+主要器件技术手册: 集成封装库: 3.5TFTLCD封装库.IntLib ATK-4.3' TFTLCD电容触摸屏模块_V1.2.IntLib ATK-4342 4.3寸RGB屏模块封装库.IntLib ATK-7016&7084 ...
迅为iTOP4412核心板配套开发底板ALTIUM设计硬件(原理图+PCB)+核心器件技术手册,2层板设计,大小为192x108mm,双面布局布线,Altium Designer 设计的工程文件,包括完整的原理图及PCB文件,可以用Altium(AD)软件打开...
书名:JSP 2.0 技术手册(电子书) 格式:PDF 出版:电子工业出版社 作者:林上杰、林康司 本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术...
迅为iTOP4412核心板配套开发底板cadence设计硬件(原理图+PCB)+核心器件技术手册,2层板设计,大小为192x108mm,双面布局布线,cadence 设计的原理图PCB工程文件,包括完整的原理图及PCB文件,可以用Altium(AD)软件...
C++核心编程技术 .rar http://down.qiannao.com/space/file/yuexingchen2/-4e0a-4f20-5206-4eab/C-002b-002b-0020-0020-00b7C-0020-0020vc/C-002b-002b-6838-5fc3-7f16-7a0b-6280-672f-0020.rar/.page C程序100例 ....
这是一套Java核心技术基础使用手册,包含Java 基础核心总结、Java核心基础、Java核心知识、Java 基础面试题总结等,内含最强 Java 核心知识点整理及思维导图,需要的朋友可下载试试! Java是一门编程语言,Java发展...
ALIENTEK STM32F750核心板+开发底板PDF原理图+AD集成封装库+主要器件技术手册,ALTIUM集成封装库器件列表: Library Component Count : 63 Name Description ----------------------------------------------------...
STM32F767单片机核心板+开发底板PDF原理图+AD集成封装库+主要器件技术手册:3710FXXX037XXFX01.pdf 3710MXXX046XXFX01.pdf AMS1117.pdf AP3216C.pdf AT24C02.pdf AT8574_8574A_DS001V1.2.pdf CAT6219.pdf CH340.pdf ...
·提供了mysql语句、函数、配置选项和实用工具的一个完整手册。 ·给出了几个指导章节用于帮助新手入门。 ·为php、perl和c语言提供了应用程序编程接口(api)。 ·在每章的api开头部分提供了简要的指南。 ...
H3C S9500系列交换机是H3C公司面向以业务为核心的企业网络架构而推出的新一代核心路由交换机,该产品基于H3C公司自适应安全网络的技术理念,在提供大容量、高性能L2/L3交换服务基础上,进一步融合了硬件IPv6、网络...
ALIENTEK STM32F767(核心板+开发底板)PDF原理图+AD集成封装库+主要器件技术手册,集成封装库部分型号器件列表: AMS1117 AP3216C ALS+PS Sensor ATK-HC05 ATK-HC05 BAT BEEP BUTTON C CAP CH340G USB2UART D DB...
TI基于KeyStone的8核固定浮点数字信号处理器,DSP集成C66x CorePac,每个核心在1至1.25 GHz到10 GHz的运行。
H3C MSR 50系列多业务开放路由器包含MSR 50-40和MSR 50-60两款设备,该系列产品可以为大型分支机构提供高性能、多业务的一体化网络方案,也可以作为大中型企业的核心网络设备,完成数据、语音、视频等多种流量的广域...