项目开发日报表——第四天

项目开发日报表——第四天

项目名称 【苏嵌实训-嵌入式 linuxC 第 4 天】
今日进度以及任务 掌握位运算的方法,学习预编译,条件编译,养成编码规范,学习指针,数组的定义和初始化,数组名的作用,数组指针和指针数组以及main函数的参数,最后复习链表。
本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) 按计划完成。编写代码使用掩码通过位运算的方法将十进制数转换为二进制和十六进制输出;编写代码解决头文件重复包含的问题;自定义函数分别给一维、二维、三维数组指针和指针数组打印输出其内容。
本日开发中出现的问题汇总 1.宏函数VS自定义函数
2.头文件重复包含问题
3.*(*( aa + i ) + j )
问题解答 1.答: (1)宏函数使用傻瓜式替换,省去函数调用返回的时间,同样省去了给形参分配和释放空间;
(2)函数调用过程:通过函数名找到函数的入口地址、给形参分配空间、传参、执行函数体语句、返回、释放空间;
总结: 宏函数用编译时间换内存空间和运行时间。

2.答: 法一(func.h为例):
#ifndef __FUNC_H__
#define __FUNC_ H__
/**
*......
*代码块
*......
*/
#endif
法二:
#pragma once
/**
*......
*代码块
*......
*/

3.答: aa + i:二维数组中第i + 1个一维数组地址;
*(aa + i):二维数组中第i + 1个一维数组的首元素的地址;
*(aa + i) + j:二维数组中第i + 1个一维数组的第j + 1个元素的地址;
*(*(aa + i) + j):二维数组中第i + 1个一维数组的第j + 1个元素的值。
本日开发收获 编码更加规范;学习使用了预编译处理,学会了用printf("%s:%d\n",__func__,__LINE__);输出调试语句;学会了数组指针和指针数组的用法,认识到main函数的命令行参数。
作业代码实现:

功能: 自定义输出函数,参数传递分别是一维、二维、三维数组指针和指针数组,函数体内打印输出其内容。

源代码:
项目开发日报表——第四天
项目开发日报表——第四天
项目开发日报表——第四天
运行结果:
项目开发日报表——第四天