c语言:关键字(一)

关键字

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

一.古老的关键字—auto

1.全局变量与局部变量

c语言:关键字(一)_第1张图片

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

这里举个例子
c语言:关键字(一)_第2张图片
这时我们在进行编译时会报错告诉我们y没定义
c语言:关键字(一)_第3张图片
这其实就是因为局部变量只能在它所定义的那个花括号使用,一旦出了花括号,这个变量就会被销毁

2.auto的使用

c语言:关键字(一)_第4张图片

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

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

c语言:关键字(一)_第5张图片

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

c语言:关键字(一)_第6张图片

在这里插入图片描述

对于auto的结论

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

二.最快的关键字—register

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

c语言:关键字(一)_第7张图片

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

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

c语言:关键字(一)_第8张图片

在这里插入图片描述

在这里插入图片描述

总结

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

c语言:关键字(一)_第9张图片

你可能感兴趣的:(#,初识c语言,c语言,java,jvm)