• 职业生涯规划之驱动开发笔试题


    1.考了数组

    2.循环链表

    3.访问地址

    4.中断服务函数的要求

    5.const

    6.volatile

    7.static

    8.SPI接口设计

    9.芯片手册翻译

    10.大端小端格式

    11.重点还是在于指针数组上,以及一些数据结构

    //-------------------------------------------------------------------------------------

         以后的方向就定位驱动开发吧,针对各个平台的,刚开始主要还是先从Linux下手为好,不过最好还是要有C语音基础才好,然后就是多看些操作系统方面的书籍,硬件方面的话加强接口方面的学习才是。对于职业发展方向我还是要专注于一个方向了,不能再乱来了。把驱动做好就够了,兴趣所在。

    其实怎么说呢,学习的话还是在于勤奋好学,没有啥技巧,还是多读多看!相信有志者事竟成!!

    下面还是就这些问题一一分解吧:

    1.数组:

    先查查概念,俺还是菜鸟级别的呵呵,调用百度上的概念:

    二维数组A[m][n],每个元素的长度为t个字节,设a[p][q]为A的第一个元素,即二维数组的行下标从p到m,列下标从q到n,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

    LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

    按“列优先顺序”存储时,地址计算为:

    LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

    存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节

    然后题目是A【6*8】的二维数组,每个元素占的空间为6个字节,基地址为1000

    数组的最后一个元素表示为A[5][7]

    (1)计算所占的空间:这样套公式就可以了,(5-0+1)*(7-0+1)*6 = 288个字节

    (2)计算A[1][4]的第一个字节的地址:

    行优先存储也就是先填满一行,然后再换一行继续填充这样计算为:

    LOCA[1][4] = 0x1000 + (十进制)((1*8)+ 4 ) * 6 =(十六进制)0x1048

    百度上面说是有2种行列顺序,但在《C和指针》这本书中说的是行主序,也就是一行存满后就轮到下一行。

     

    2.虚

     

  • 相关阅读:
    git 只添加cpp文件
    URI和URL学习
    scanpy中常用函数
    特征去量纲方法
    排列组合数计算公式
    UML图
    行测图形推理笔记-
    nis服务器实现用户帐号管理同步
    rsh配置双方主机免密
    两周实习的总结
  • 原文地址:https://www.cnblogs.com/tao560532/p/2254381.html
Copyright © 2020-2023  润新知