项目开发日报表
项目名称 | 苏嵌实训-嵌入式linux C第四天 |
---|---|
今日进度以及任务 | 复习C语言,着重复习位运算,指针地址,宏定义,不同类型的步长 |
本日任务完成情况(详细说明本日任务是否按计划完成,开发代码量 | 对C语言的不清楚的指针有更清晰的理解,熟悉运用了位运算,开发了几个简单的函数 |
本日开发中出现的问题汇总 | 指针的地址、表示方法; |
本日未解决的问题 | |
本日开发收获 | 主要复习了位运算的使用,例如或运算、与运算的应用;指针地址指向空间和对应空间区别;步长:int型+4;char型+1;步长长的赋值给短的会丢失;多维数组指针表示指针的含义 |
其他 | 总结三维指针地址相关代码 |
代码:
运行结果:
分析:在一维数组a[]中,a表示首个元素地址;
在二维数组aa[][]中: &aa表示二维数组的地址; aa 是二维数组的首个一维数组的地址; aa为二维数组的首个一维数组的首元素的地址;aa+i为二维数组中第i+1个一维数组的首元素的地址; * (aa+i)为二维数组中第i+1个一维数组的首元素的地址;(aa+i)+j为二维数组中第i+1个一维数组的第j+1个元素的地址; 另外*(*(aa+i)+j)为二维数组中第i+1个一维数组的第j+1个元素的值。
所以在代码中的三维数组要求表示为两个二维数组,地址分别为:第一个: *(str)和 *(str)+1第二个: *(str+1)和 *(str+1)+1。