嵌入式面试题目杂记

static:

        普通局部变量存储于进程栈空间,用完就释放;
        静态局部变量static即使未赋值编译器也会把它初始化为0,且存储与进程的全局数据区。


        全局变量定义在函数体外部,在全局数据区分配存储空间,且编译器会自动初始化;
        普通全局变量对整个工程可以,其他文件可以使用extern外部声明后直接使用;
        静态全局变量仅对当前文件可见,其他文件不可访问。
        在定义不需要与其他文件共享的全局变量时加上static能有效降低程序模块之间的耦合,避免不同文件相同变量名的冲突。

大端模式:

        数据的高字节保存在内存的低地址中,数据的低字节保存在内存的高地址中,类似把数据当成字符串处    理:地址由小向大增加,数据从高位往低位放
小端模式:

        数据的高字节保存在内存的高地址中,数据的低字节保存在内存的低地址中,此存储模式将地址的高低    和数据位权有效结合,高地址部分权值高,低地址反之。

位操作符:

        位与&,位或|,位取反~,位异或^
        操作:只有0和0位或结果为0,其余全是1
        &位与:只有1和1与的结果为1,其余全是0

设置a的bit3,清除a的bit3
    设置a的bit3为1的方法:将a和000010000作|操作,即其它位不变,第3位变1
    清除a的bit3的方法:将a和11110111做&操作,这样第3位变成0,其它位不变

#define BIT17 (0x1<<17)
static int a;
void set_bit17() {
	a = a | BIT17;
}
void clear_bit17() {
	a = a & (~BIT17);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值