当前位置: 首页 > wzjs >正文

义乌市评建设职称网站嘉祥网站建设公司

义乌市评建设职称网站,嘉祥网站建设公司,成片1卡2卡三卡4卡,国内 wordpress主题一、引言 在 C 语言里,作用域指的是程序中变量、函数、类型等标识符能够被使用的范围。C 语言里有四种主要的作用域:块作用域、函数作用域、文件作用域和原型作用域,下面为你展开介绍: 二、块作用域 定义:块作用域是 C…

一、引言

        在 C 语言里,作用域指的是程序中变量、函数、类型等标识符能够被使用的范围。C 语言里有四种主要的作用域:块作用域、函数作用域、文件作用域和原型作用域,下面为你展开介绍:

二、块作用域

       

  • 定义:块作用域是 C 语言中最常见的作用域类型,变量在由花括号 {} 所包围的代码块内声明时,就具有块作用域。代码块能够是函数体、循环体、条件语句体等。
  • 规则
    • 可见性:具备块作用域的变量仅能在其声明所在的代码块以及嵌套在该代码块内的子代码块中被访问,在代码块外部,该变量不可见。
    • 生命周期:块作用域变量的生命周期从其声明处开始,到包含该声明的代码块执行结束时终止。一旦代码块执行完毕,变量所占用的内存就会被释放。
  • 示例
#include <stdio.h>
int main() {{int num = 10; // 此变量具有块作用域printf("num 的值: %d\n", num);}// 下面这行代码会引发编译错误,因为 num 在该作用域不可见// printf("num 的值: %d\n", num); return 0;
}

三、函数作用域

  • 定义:在 C 语言中,仅有 goto 语句的标签具有函数作用域。
  • 规则
    • 可见性:函数作用域的标签在整个函数内部均可见,不管标签声明在函数的哪个位置。
    • 生命周期:标签的生命周期和函数的执行周期一致,只要函数在执行,标签就能够被引用。
  • 示例
#include <stdio.h>
void test() {goto end; // 跳转到 end 标签printf("这行代码会被跳过。\n");
end:printf("已到达 end 标签。\n");
}
int main() {test();return 0;
}

四、文件作用域

文件作用域

  • 定义:当变量或函数在所有函数和代码块之外声明时,它们就具有文件作用域。
  • 规则
    • 可见性:具有文件作用域的变量和函数在整个源文件中都可见。不过,若要在其他源文件中使用这些标识符,就需要进行恰当的声明(使用 extern 关键字)。
    • 生命周期:文件作用域变量和函数的生命周期从程序开始执行时起,到程序结束时止。
  • 示例
#include <stdio.h>
// 具有文件作用域的变量
int globalVar = 20; 
// 具有文件作用域的函数
void display() { printf("全局变量 globalVar 的值: %d\n", globalVar);
}
int main() {display();return 0;
}

五、原型作用域

  • 定义:原型作用域仅适用于函数原型里声明的参数。函数原型是在函数定义之前对函数的声明,用于告知编译器函数的名称、返回类型和参数类型。
  • 规则
    • 可见性:函数原型中声明的参数名仅在原型声明的括号内有效。在函数原型外部,这些参数名不可见,编译器只关注参数的类型。
    • 生命周期:原型作用域参数的生命周期仅限于函数原型声明本身,对函数定义中的参数没有影响。
  • 示例
#include <stdio.h>
// 函数原型
int sum(int a, int b); 
// 函数定义
int sum(int x, int y) { return x + y;
}
int main() {int result = sum(3, 5);printf("两数之和: %d\n", result);return 0;
}

六、作用域的嵌套和遮蔽

  • 作用域的嵌套:C 语言中作用域能够嵌套,比如一个函数内部可以包含多个代码块,每个代码块都有自身的作用域。当访问一个变量时,编译器会从当前作用域开始查找,若找不到,就会向上一级作用域继续查找,直至找到该变量或者到达最外层作用域。
  • 遮蔽:当不同作用域中声明了同名的变量时,内层作用域的变量会遮蔽外层作用域的变量。也就是说,在内层作用域中使用该变量名时,访问的是内层作用域的变量,而非外层作用域的变量。
  • 示例
#include <stdio.h>
int num = 10; // 具有文件作用域的变量
int main() {int num = 20; // 具有块作用域的变量,遮蔽了文件作用域的 numprintf("块作用域 num 的值: %d\n", num);{int num = 30; // 内层块作用域的变量,遮蔽了外层块作用域的 numprintf("内层块作用域 num 的值: %d\n", num);}return 0;
}


文章转载自:

http://4K2RmlZC.mjzgg.cn
http://dWaSJLfA.mjzgg.cn
http://wPwMM0v2.mjzgg.cn
http://9jMUPMTt.mjzgg.cn
http://VfTExZam.mjzgg.cn
http://rm1sUHmk.mjzgg.cn
http://k9PNLVMk.mjzgg.cn
http://jIyYrCUO.mjzgg.cn
http://r1MhoEJV.mjzgg.cn
http://0xuPbcti.mjzgg.cn
http://VY9CToFe.mjzgg.cn
http://Dt3EU93O.mjzgg.cn
http://ifZ96mGM.mjzgg.cn
http://LXZdiosW.mjzgg.cn
http://TA18J0Aa.mjzgg.cn
http://jwbWRpZ4.mjzgg.cn
http://f7pdbG6U.mjzgg.cn
http://AGF99XAo.mjzgg.cn
http://QEivPQWc.mjzgg.cn
http://a4KlWbRI.mjzgg.cn
http://QqlOF1Ut.mjzgg.cn
http://WEpapGyy.mjzgg.cn
http://IcDH5WCi.mjzgg.cn
http://KxI0Jh1J.mjzgg.cn
http://FHu5otIA.mjzgg.cn
http://pkEltr0k.mjzgg.cn
http://FAnLozkb.mjzgg.cn
http://QD9cBtHY.mjzgg.cn
http://kUJOcUu0.mjzgg.cn
http://Ad20XEeW.mjzgg.cn
http://www.dtcms.com/wzjs/620205.html

相关文章:

  • 可以做任务挣钱的网站下载关键词推广软件
  • 买保险网站简单网页制作成品代码
  • 网站建设宽带新校区建设专题网站
  • 天台城乡规划建设局网站网络营销资讯网站
  • 厦门建设企业网站好用的网站模板
  • 建设网站所采用的技术网站建设要哪些人
  • 自己做网站用买域名吗夜间正能量不良网站
  • 上海网站建设觉策动力恩施网站建设教程
  • 字体设计网站大全网站建设关键的问题是
  • 门户网站开发工具软件泗洪建设局网站
  • 株洲高端网站建设工作室网址输入入口
  • 分销网站开发互联网营销师就业前景
  • 天津建设招标网站首页网易企业邮箱注册流程
  • 企业大型网站开发设计建站流程南充市租房子信息网
  • 校园网站建设多少钱无忧主机建站的过程
  • 海口网站建设搜q479185700wordpress替换文章标题内容
  • 建设网站的企业是什么医院网站制作
  • 网站改版后的内容c2c的代表性电商平台
  • 长春市城乡建设部网站wdcp备份网站
  • h5网站开发软件黄山网站推广公司
  • 国外做珠宝裸石的网站做亚马逊网站费用
  • 国外做项目的网站德惠网站
  • 金华公司做网站目前较好的crm系统
  • 网站后期维护和管理怎么做厦门建设厅查询网站
  • 做个网站得投入多少链接检测工具
  • 淘宝客网站制作企业做什么需要有网站
  • 轮网站开发的重要性南坪网站建设哪里好
  • 上海专业网站建站公司可以做空股票的网站
  • 大埔做网站微信网站需要一个域名要怎么做
  • 女士春深圳 网站制作什么可以放置网站内容