小知识点

基础:

1 负数>> ,符号位跟着移动,最高位补1,左移和右移的位数不能大于数据
的长度,不能小于 0


2  volative 和const一样是 类型修饰符,用它修饰的变量可以被某些未知因素修改,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再优化。

3 关键字struct,将相关联的数据打包成一个整体。
柔性数组a[],常用于c99.

4 union关键字所有成员共用一个起始地址,最大长度为double形态。

5 编译器处理注释是用空格代替

6 char 取值范围:-128~127.原因: char 为8bit. 最高位为1 为负1--- ---- ,故128 只能为负,正数max 127 
 c语言10进制,16进制,2进制,char,均是以不同的形式存在,无需转换。

7 指针如果不指向栈区,便须申请空间指向堆区

8 段错误:
    1.指针改变常量(字符串常量)
    2.空指针,对0地址空间NULL进行操作
    3.野指针,对野指针进行操作
    4.对数组名进行修改
    5.数组越界

/*小术    能休息    万事--缘    慢细---轻快---    虚无载--公鸡---身-心--生机    不修明,若来声  打算    迷蒙 */
进阶:
1 c++与java均是面向对象类语言数据类型与C中不一样的地方:   
    1、int 类型的字节数   永远都是4个字节。    
    2、类型严格 (  if )    
    3、任意一个浮点值,java都会默认为 double 类型,所以定义 float 类型的时候要加 f/F;    
    4 申请空间用new(),删除delete(),c为malloc,free
2 tcp流数据类型,udp数据报。(tcp,udp 区别在于可靠,有序,准确性). 
  tcp server:socket创建,绑定,listen,accept,receive
3 系统移植:包括 文件系统移植,内核裁剪移植,uboot移植
  uboot启动流程:设置异常相量表,关中断,看门狗,mmu.初始化串口时钟,初始化栈,清bss段,重定位
4 驱动要点  platformdriver  .name
5 i2c,spi.uart:
传输速度:spi>i2c>uart
全双工:spi,uart 半双工:i2c
同步:spi,i2c,异步 uart
器件之间:spi,i2c     设备之间:uart
地址选择:spi:cs      i2c:主机发送地址判定
6  i2c_eeprom,spi_flash, dht11,mpu6050,dma

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值