C语言第三次作业

1.3.1和1.3.2

纸质笔记

C语言第三次作业

 C语言第三次作业

问题:

1.什么是shell:百度查得,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它接收用户命令,然后调用相应的应用程序。由此可见shell正如老师所言是一个类似中介的东西。

2.EOF的意思和使用。EOF是是一个宏定义,像NULL一样。根据百度得知,EOF,即End Of File,最常见的是表示结束文件输入。但是在特殊情况下,EOF表示行输出的结束,这种情况是在输入一行字符后,并没有输入换行(回车),在这种情况下,EOF的作用是像换行一样的。

3.在windows下,ctrl+z和ctrl+c的作用。在windows下,ctrl+z代表EOF结束输入,ctrl+c代表关闭程序。

4.char **a的理解不懂。

5.为啥正确的定义一个字符变量要用int而不是用char。

1.2.2

纸质笔记:

C语言第三次作业

 问题:

1.malloc函数的作用。是用来申请一片连续的空间。并且以void*来返回分配的内存区域的地址。

2.malloc一定需要free函数来配套吗。通过视频,自身实践和网上搜寻得知,答案是否定的,malloc并不需要free来进行配套,但是需要free来配套。

3.malloc函数申请过多的内存是否会造成电脑卡顿。通过实践得知丰配过多的内存不一定会造成电脑卡顿。通过实践可知,分配内存之后,如果没有东西来占有这些内存,电脑的内存条占有量并不会发生改变。那么可以设想,并且根据老师和网上的资料,在分配的内存全部占据时会造成卡顿。

并且在程序未运行的时候不会造成卡顿。

4.用malloc申请来的最大内存超过自己电脑的最大内存。并未解决。

5.int main(int argc,char const *argv[])这句代码打出来之后后续的操作,和操作所产生的效果,与老师打出代码和操作的效果不同。并且不理解这句代码的意思。

(以上很多内容均为个人的实践加推理猜想,并不一定正确)

1.4字符串的实现

纸质笔记:

 C语言第三次作业

 C语言第三次作业

问题:

1.C语言第三次作业

视频中老师一开始敲得代码是这样,但是编译运行之后变为了

C语言第三次作业这样。

2.视频中老师strcmp函数时,在运用表示时

 C语言第三次作业

 (注释掉的是视频中的三种情况)

如果换成char s1[]="dab";
               char s2[]="abc";

那么所得到的答案并不一样

C语言第三次作业

 3.不明白restrict表明两个数组不可以重叠得意思。不明白不可以重叠得意思。

pta作业

单选题的第三题,不明白为啥字符串“That”小于字符串“The”,但是程序显示如此。

程序填空题有很多疑惑。

C语言第三次作业

C语言第三次作业