17.C语言 常见面试题

嵌入式工程师必备0x10到题目

宏定义

1.用预处理指令#define声明一个常数,用于表明1年中有多少秒

#define  宏名  宏体

宏名:大写字母表示

#define SECOND_OF_YEAR (365*24*3600)

int的常量

数据声明

修饰符的使用总结

类型修饰符

auto、register、static、const、extern、volatile

对内存资源存放位置的限定

资源属性中位置的限定

修饰符的使用总结

关键字static的作用是什么?

1、修饰局部变量

默认局部变量在栈空间存在,生存期比较短

局部静态化,局部变量在静态数据段保存,生存期非常长

2、修饰全局变量

        防止重命名,限制变量名只在本文件内起作用

3、修饰全局函数

        防止重命名,限制该函数只在本文件内起作用

关键字const有什么含意?

C:只读,建议性  不具备强制性

关键字volatile有什么含意?并给出三个不同的例子

防止编译器优化

它修饰的变量,该变量的修改 可能通过第三方来修改

位操作

设置a的bit3

unsigned int a;

a | =(0x1 << 3)

不加= a是不变的

清除a的bit 3

a&=~(0x1 << 3)

访问固定内存位置

在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66.编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。

int *p = (int *)0x67a9;

p[0] = 0xaa66;

*((int *)0x67a9) = 0xaa66;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值