《嵌入式LINUX与物联网软件开发 C语言内核深度解析》学习0——其他记录

printf加’\n’的好处

linux中命令行默认是行缓冲,当遇到换行符(\n)才会输出,否则就会缓冲起来,程序终止或者缓冲区满了才输出。

不同系统的换行符

windows:\r\n (CRLF)
linux:\n (LF)
iOS:\r (CR)

scanf中的坑

scanf不会接收最后的\n,\n继续留在标准输入中,导致下次scanf的时候拿到的是\n,而不是真正的数据,scanf的很多错误就是这样来的。

使用typedef的意义

1、简化类型,让程序更容易理解和书写
2、创建平台无关类型,便于移植。
    例如程序用到最高精度的浮点类型。平台A最高为float,平台B最高为long double ,就可以这样定义
    #ifdef PLATFORM_A
    typedef float myMax;
    #endif
    #ifdef PLATFORM_B
    typedef long double myMax;
    #endif

强制类型转换会改变原来的变量的值吗?

原来的变量得值不会改变。
float a = 12.34;
int b = (int)a;
上面的强制类型转换,然后赋值,可以分为4步:
step1:构建临时变量x
step2:将a的整数部分赋值给x
step3:将x赋值给b
step4:销毁x
所以不会更改原变量的值。

debug宏的使用方法

#ifdef DEBUG
#define debug(fmt,args...) printf(fmt,##args)
#else
#define debug()
#endif
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值