SA17225160_李伯威(libowei)_高级软工第四次实验报告

来源:互联网 发布:usb2.0高速端口和3.0 编辑:程序博客网 时间:2024/05/29 08:48

一、实验要求

用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作;
链表模块的接口设计要足够通用,命令行菜单小程序的功能保持不变;可以将通用的Linktable模块集成到我们的menu程序中;
接口规范;

二、实验过程

1.clone并进入共享文件夹


2.建立指定的lab3文件夹
3.用vim编辑linktable.c文件


4.编辑linkltable.h文件

5.编写menu.c文件

6.编译menu.c以及linklist.c文件

7.运行结果

8.上传github

9.github的上传情况

10.https://github.com/lili0001002/cs122/tree/master/lab4

三、课程总结
对#ifndef/#define/#endif防止该头文件被重复引用的理解: “被重复引用”是指一个头文件在用一个cpp文件中被include了多次,这种错误常常是由于include嵌套造成的。比如:存在a.h文件#include "c.h",而此时b.cpp文件导入了#include "a.h"和#include "c.h",就会造成c.h重复引用。这种重复应用最直接的坏处就是增加了编译的工作量,甚至可能会导致程序出错。所以,C语言中通过#ifndef/#define/#endif来避免上述情况的发生。


关于struct和typedef struct的理解:


typedef struct tagMyStruct
{
int iNum;
long lLength;
}MyStruct;
上面的tagMyStruct是标识符,MyStruct是变量类型(相当于int类型)。而上述的程序相当于完成了两个操作。


1.它定义了一个新的结构类型


struct tagMyStruct
{
int iNum;
long lLength;
};
2.typedef为这个新的结构起了一个名字,叫MyStruct


typedef struct tagMyStruct Mystruct;
原创粉丝点击