温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

c语言     一份驱动开发笔试试题的理解

发布时间:2020-07-20 09:16:10 阅读:1120 作者:毛散人 栏目:开发技术
C语言开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
         #define SEC_YEAR(365*24*60*60UL)    32位设备int=429467295   16位设备int=65536,八位就更不用说了,加UL第一为了兼容各种设备的处理位,第二因为宏可能作为一个计算单位当乘上一定倍数后难免超出int

2 . 写一个"标准"MIN ,这个宏输入两个参数并返回较小的一个。
        #define MIN(x,y) ((x)<(y)?(x):(y))

前面为何加(x y) 防止MIN()宏嵌套 因为<的优先级比:大(还有位运算符)
3. 预处理器标识#error的目的是什么?
当编译时遇到#error 会生成一错误提示并停止编译,这个东西有点像当你做错事然后家长对你说的话一样,可能这个错误不会导致程序崩溃,只是一些操作如程序定义int类型你却输入char这时候你通过一个判断句检测然后跳到#error

4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?
While1

For(;;)

,2,在内存层面,static可以把一个全局变量变成一个局部变量,把一个全局函数变成局部静态函数(外链接变成内连接),当程序大的时候这个方法很有用可以很有的预防整个工程的函数重名,但这个方法不能彻底解决重名问题。
7.关键字const有什么含意?
 简单的说:Const 意为“常量”即从定义完后不能改变的量,

其实这个const定义的量可以改变,因为在编译的时候const没有被特定的标志出来只要骗过编译器就可以改变了,但程序员这样定义了就表示这个量没有改变的价值,你只要用的时候调用即可
下面的声明都是什么意思?

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×