高级C语言教程-作用域
来源:互联网 发布:淘宝奥巴狗游戏 编辑:程序博客网 时间:2024/05/22 13:10
C语言中一共有4中作用域:代码块作用域、文件作用域、函数作用域和原型作用域。
1.代码块的作用域,位域一对大括号中的所有语句构成一个代码块(Block)任何在代码块开始声明的标识符都具有代码块作用域,函数定义的形参在函数内部也具有代码块的作用域。
在函数后面声明一个新的代码块可以再次进行变量的声明而不会报错。
#include <setjmp.h>#include <stdio.h>jmp_buf j;void raise_exception(void){ printf("exception raised\n"); longjmp(j, 3); /* jump to exception handler case 3 */ printf("this line should never appear\n");}int main(void){ switch (setjmp(j)) { case 0: printf("''setjmp'' is initializing ''j''\n"); raise_exception(); printf("this line should never appear\n"); case 1: printf("Case 1\n");break; case 2: printf("Case 2\n");break; case 3: printf("Case 3\n");break; default: break; } { int i =3; printf("i = %d\n",i); } return 0;}
输出:
/home/andrew/文档/IMPORTENT_C/cmake-build-debug/IMPORTENT_C''setjmp'' is initializing ''j''exception raisedCase 3i = 3Process finished with exit code 0
文件作用域
任何在所有代码块之外声明的标识符(也就是这个标识符不属于任何代码块)都具有文件作用域(File Scope)。它表示这些标识符在整个声明这些标识符的文件中都可以被访问。
注意:在文件中定义的函数名也具有文件作用域,因为函数本身不属于任何代码块。
函数作用域
函数作用域不但决定了可以在程序的什么位置调用函数,而且决定了函数可以访问那些定义,适用于变量标识符的作用域规则也同样适用于函数标识符。在全局作用域中声明的函数在整个代码中都可以使用。
原型作用域
C语言程序中,函数的应用分为函数定义和函数服务(调用)两部分。文件的定义通常在文件的作用域。
阅读全文
0 0
- 高级C语言教程-作用域
- 高级C语言教程
- 高级C语言教程
- 高级C语言教程-编译链接调试
- 高级C语言教程-存储器和指针
- 高级C语言教程-指针和存储
- 高级C语言教程编码风格
- 高级C语言教程-C语言函数setjmp()函数
- C语言-作用域
- C语言------作用域
- Python高级教程之作用域
- C语言宏的高级应用 #与##作用
- C语言宏的高级应用 #与##作用
- c语言变量作用域
- C语言变量作用域
- C语言变量作用域
- C语言-变量作用域
- C语言之作用域
- java selenium tess4j识别验证码模拟登陆。
- jQueryy原生js实现---hover事件
- 搬瓦工搭建VPS 再利用腾讯云做中转 最后使用pac模式
- go语言之map练习(二):编写一个程序wordfreq程序,统计输入文本中每个单词出现的频率(次数)
- C++随笔——悬空指针(dangling pointers)
- 高级C语言教程-作用域
- Spark Streaming累加器与广播的简单应用
- TCP连接的状态与关闭方式,及Windows系统下的TCP参数优化
- 初学Python第三天
- 小鑫の日常系列故事(一)——判断对错
- Servlet
- 代码注释与编码规范
- 分享一个android离线文档连接
- this关键字的内存图解