第三周工作学习总结

第三周工作学习总结

任务

  1. 重写人民币大小写转换;
  2. 实现20位数×20位数的大数乘法;
  3. 阅读编程规范;
  4. 完成《现代操作系统》前三章阅读;
  5. 实现控制台打印*图形如下:

第三周工作学习总结_第1张图片

完成情况

  1. 完成
  2. 完成
  3. 完成
  4. 完成
  5. 未完成

新学内容

一、函数scanf_s

相比于scanf()输入函数,可以多分配一个单位的内存以保护程序的正常运行,但是不能保证结果正确;

在申请最大容量时,多申请一个单位的内存能够避免失误赋值引起的越界操作;

数组名可作为实参传递给指针形参,实际也是将数组首地址赋值给指针,因此在调试处显示现存数据是只显示首地址处的值,类型仍然为指针类型。要查看数组的值,需要到内存窗口查看;

函数memset()可对任何内存块进行初始化赋值操作;

当需要内存拷贝时,用memcpy()替换for循环操作,效率要高。

二、编程规范学习

1.头文件

依赖:本章节特指编译依赖。若x.h包含了y.h,则称作x依赖y。依赖关系会进行传导,如x.h包含y.h,
而y.h又包含了z.h,则x通过y依赖了z。

某产品更有一个“优秀实践”,用于将.c文件通过工具合并成一个比较大的.c文件,从而大幅度提高
编译效率。其根本原因还是在于通过合并.c文件减少了头文件解析次数。但是,这样的“优秀实践”
是对合理划分.c文件的一种破坏。

我们倾向于减少包含头文件,尤其是在头文件中包含头文件,以控制改动代码后的编译时间。

2.原则

{0}. 头文件中适合放置接口的声明,不适合放置实现;
{0}. 头文件应当职责单一;
{0}. 头文件应向稳定的方向包含:依赖的方向应该是:产品依赖于平台,平台依赖于标准库。

3.规则

  • 每一个.c文件应有一个同名.h文件,用于声明需要对外公开的接口;

  • 禁止头文件循环依赖;

  • .c/.h文件禁止包含用不到的头文件;

  • 头文件应当自包含——自包含就是任意一个头文件均可独立编译;

  • 总是编写内部#include保护符(#define 保护);

  • 禁止在头文件中定义变量;

  • 只能通过包含头文件的方式使用其他.c提供的接口,禁止在.c中通过extern的方式使用外部
    函数接口、变量;

  • 禁止在extern “C”中包含头文件;

小结

  1. 调试消除warning(s),每一处警告都可能被攻击;
  2. 测试程序时考虑边界测试和非法输入,增强程序健壮性。
  3. 提高程序可读性,应用编程规范书写代码。

你可能感兴趣的:(函数,工作,控制台,阅读,Study)