2016 - 2024

感恩一路有你

形参占用存储单元吗 函数中未指定存储类别的局部变量,其隐含的存储类别为()?

浏览量:2291 时间:2021-03-11 12:42:13 作者:admin

函数中未指定存储类别的局部变量,其隐含的存储类别为()?

全局变量的默认存储类型是extern,而局部变量的默认存储类型是auto。函数中声明的变量是局部变量。因此,原标题中的句子“没有在函数中指定存储类别的全局变量”是有问题的。记住:全局变量外部局部变量自动

全局变量是静态的,不管它们是否被指定。如果局部变量未指定存储类别,则默认为自动

全局变量的默认存储类型为extern,而局部变量的默认存储类型为auto。函数中声明的变量是局部变量。因此,原标题中的句子“没有在函数中指定存储类别的全局变量”是有问题的。

记住:

全局变量extern

局部变量auto

堆栈区域,或CPU通用寄存器

!你知道CPU吗???CPU核心将有一个名为SP的寄存器,它存储堆栈的顶部地址。所有局部变量和中间数据都存储在这里。当程序调用函数时,SP指针将增加堆栈使用的所有临时内存的长度,并且局部变量也在其中。当函数退出时,SP将恢复到原始值,这样被调用函数使用的所有临时数据也将根据所有的释放保存。。。当然,它也存在于CPU的通用寄存器中,因为有些CPU有大量的工作寄存器。如果局部变量不多,则直接放在寄存器中而不是内存中,这也提高了执行速度。。。内存分配需要取地址和写内存,步骤很多。而且,内存操作没有寄存器块,所以如果有足够的工作寄存器,就会有工作寄存器(当然,根据编译器的说法,编译器通常会仔细考虑,使速度尽可能快)

形参占用存储单元吗 c语言必须有形参吗 全局变量的生存期

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。