avatar-decorate
嵌入式盟主 level
获赞
1607
粉丝
3020
关注
2
看过 TA
1.2W
华南理工大学
2024
嵌入式工程师
IP属地:广东
公号:嵌入式未来,buy笔试真题,感谢你们的小红花
私信
关注
头像
2023-04-15 15:16
已编辑
华南理工大学 嵌入式工程师
存储类这个面试过程中也经常被问到。register存储类:用于定义存储在寄存器中而不是 RAM 中的局部变量。所以变量的访问速度更快,但是它不能直接取地址。例如:register int miles;static 存储类:指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。例如: #include <stdio.h> /* 函数声明 */ void func1(void); static int count=10; ...
难绷421:register 是C语言中的一种存储类(storage class),用于提示编译器将变量存储在CPU的寄存器中,以提高访问速度。然而,register存储类的使用已经在现代C语言标准中被废弃,因为编译器通常会智能地选择合适的寄存器来存储变量,而不需要程序员显式地声明。 在过去,程序员可能会使用 register 存储类来建议编译器将频繁使用的变量存储在寄存器中,以提高程序的性能。例如: register int count = 0; 然而,现代编译器通常会更好地优化代码,以便更好地利用寄存器,因此显式使用 register 存储类的需求已经减少。 在C语言的最新标准(C11)中,register 存储类已被标记为废弃,编译器可以选择忽略它。程序员不再需要显式地使用 register,而可以依赖于编译器进行优化。因此,通常不建议在现代C代码中使用 register存储类。
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务