C语言中 # 和 ## 的用法
# 是 字符串化操作符,定义时用括号代表参数传递,
可以把传入的参数名替换成带双引号的字符串
定义: #define a(b) #a
使用:a(123)
编译时会展开成 "123"
## 是字符串连接符,定义时用括号代表参数传递,
可以把参数在宏定义的字符串末尾连接起来,起到strcat的效果
定义: #define a(b) 123##b
使用:a(123)
编译时会展开成 123123
关键字volatile有什么含义
防止编译器优化,a=1,a=2,a=3不被优化成a=3,强制不读缓存去读寄存器。
读寄存器必须加volatile,因为寄存器的值经常改变,防止读缓存。
多线程任务共享资源必须加volatile,防止编译器优化出现ABA问题。
关键字static的作用是什么
定义静态变量或者函数,静态变量只初始化一次,如果在类里就属于类。
如果不
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 每日面试题Day2
发表评论 取消回复