C中静态变量和寄存器变量的区别

静态变量

静态变量具有保留其值的属性,即使它们超出了它们的范围! 因此,静态变量在其先前的作用域中保留其先前的值,并且不会在新的作用域中再次初始化。

语法:

static data_type var_name = var_value;

注册变量

寄存器的访问速度比内存快,因此可以使用 register 关键字将 C 程序中最常用的变量放入寄存器中。关键字 register 向编译器提示可以将给定变量放入寄存器中。是否将其放入寄存器是编译器的选择。通常,编译器自己进行优化并将变量放入寄存器中。

语法:

register data_type var_name = var_value;

C中静态变量和寄存器变量的区别:

静态变量寄存器变量
使用的关键字是—— static使用的关键字是—— register
静态变量可能是内部变量或外部变量,具体取决于声明的位置。寄存器变量在函数内部声明。
内部静态变量类似于自动变量或局部变量。而外部静态变量类似于全局变量。寄存器变量类似于自动或局部或内部变量。
执行速度比寄存器变量慢。寄存器变量可以更快地执行程序。
内部静态变量在特定函数中处于活动状态(可见性),外部静态变量在整个程序中处于活动状态。寄存器变量仅在函数内有效。
内部静态变量在函数结束前一直处于活动状态(生命周期),而外部静态变量在整个程序中都处于活动状态。寄存器变量在函数结束之前一直有效。
存储在初始化数据段中的静态变量。寄存器变量存储在寄存器中。
静态变量存储在数据段的内存中。在寄存器变量中,CPU 本身存储数据并快速访问。
—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花