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

c语言:关键字(一)

关键字

  • 一.古老的关键字—auto
    • 1.全局变量与局部变量
    • 2.auto的使用
  • 二.最快的关键字—register

在这里插入图片描述

一.古老的关键字—auto

1.全局变量与局部变量

在这里插入图片描述

在花括号里定义的变量就是局部变量,反之就是全局变量

这里举个例子
在这里插入图片描述
这时我们在进行编译时会报错告诉我们y没定义
在这里插入图片描述
这其实就是因为局部变量只能在它所定义的那个花括号使用,一旦出了花括号,这个变量就会被销毁

2.auto的使用

在这里插入图片描述

说明一下上面的解释有些不准确,并非所有变量都是auto,只有局部变量才会看为auto

auto是一个比较古老的关键词,用来修饰局部变量,它的存在就是说明该变量只在这个花括号内使用。其实对于我们来说,已经很少见到这个关键词了,因为我们会默认局部变量前面有auto,通常不写出来

在这里插入图片描述

但为什么是修饰局部变量的呢,看下面的例子

在这里插入图片描述

在这里插入图片描述

对于auto的结论

很老,基本永不使用,当然这是在c语言中,如果在c++中auto的使用会不同,这里就不详细说啦

二.最快的关键字—register

这里来谈一谈储存器,常见的储存器像寄存器,cache,内存,硬盘…这些储存器离cpu越远其储存内容越大但效率越低

在这里插入图片描述

rejister的作用就是尽量将所修饰的变量放入CPU寄存器中,从而达到提高效率的目的

当然,并非所有变量都能使用register来“加速”

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

%95以上的概率不会使用,早期人们需要手动优化程序,但现在编译器已经很智能了,不再需要手动优化。所以,该关键字不用管

在这里插入图片描述

相关文章:

  • 毕业设计 单片机多功能红外空调遥控器 - 嵌入式 物联网
  • Docker 讲解与基本操作
  • 《PyInstaller打包实战指南》第二十二节 单文件模式打包Playwright
  • RK3399平台开发系列讲解(内存篇)ARM64虚拟地址空间布局
  • jsp474基于视频图像的人脸识别算法研究mysql
  • Android -- 每日一问:两个 Fragment 之间如何进行通信 ?
  • 【html5期末大作业】基于HTML+CSS+JavaScript管理系统页面模板
  • 【DL】Windiws10系统下安装CUDA和CUDNN实践教程
  • 【基础算法】几种特殊数(素数、公约数、完全数、亲密数) C++实现
  • 数据存储,详细讲解
  • HTML学生个人网站作业设计 明星易烊千玺介绍(HTML+CSS) web前端开发技术 web课程设计 网页规划与设计
  • 【MyBatis源码分析】六、MyBatis Plugins(拦截器)
  • 支付宝支付项目
  • 什么是单臂路由技术?
  • 为什么我推荐你一定要学Python?
  • 【技术性】Search知识
  • Android框架之Volley
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • JS专题之继承
  • Promise面试题2实现异步串行执行
  • React组件设计模式(一)
  • 成为一名优秀的Developer的书单
  • 两列自适应布局方案整理
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 说说动画卡顿的解决方案
  • 学习Vue.js的五个小例子
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 昨天1024程序员节,我故意写了个死循环~
  • #### go map 底层结构 ####
  • (3)(3.5) 遥测无线电区域条例
  • (C)一些题4
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)ssm高校实验室 毕业设计 800008
  • (强烈推荐)移动端音视频从零到上手(上)
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)scrum常见工具列表
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [20160807][系统设计的三次迭代]
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [Android Pro] AndroidX重构和映射
  • [Android Studio 权威教程]断点调试和高级调试
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [C语言]——函数递归
  • [ERROR] 不再支持目标选项 5。请使用 7 或更高版本