(2024.2.5-2024.2.18)C语言学习小结

这两周主要围绕《Head first C》这本书展开C语言学习,同时尝试学习DES密码算法C程序。

基本内容

《Head first C》学习的内容基本上就是进程与通信、网络、线程这块。
以下是思维导图:



实践练习

除了书上的一些小练习之外,我也实践写了HFC的C语言实验室2的程序,一波三折,详见C代码实践——《Head first C》C语言实验室2

同时我也尝试着跑通并理解DES密码算法C程序,进展有限,准备等下周再详细讲。

遇到的问题与解决、经验教训等

写C语言实验室2时遇到的问题不少,C代码实践——《Head first C》C语言实验室2写了其中遇到的一些关键问题及解决办法,以下是学习《Head first C》内容时遇到的问题

  • 问题1:对套接字的理解仍然不够清晰,不知道为什么服务器要创建两个套接字

  • 解决1:与GPT沟通后明白了,套接字本质上还是数据流,提供了一个相对简单的接口来发送和接收数据。服务器要先创建一个主监听套接字用于接收其他客户端的连接请求,而后才通过创建连接套接字具体连接客户端进行数据传输。

  • 问题2:讲线程时对void指针不太理解,当时想:void不是空类型吗怎么还能有指针呢

  • 解决2:与GPT沟通后明白了,void指针实际还是指针,只不过不指明对应数据类型,更为灵活自由,当想要在线程中传递整型值时,因为long大小和void指针大小相同,可以用long保存void指针变量。

下周计划

根据本周学习情况与后续时间情况,我暂定下周计划继续推完《Head first C》,尽可能学习密码算法C语言代码,同时推进论文。

posted @ 2024-02-18 17:57  20231309  阅读(8)  评论(0编辑  收藏  举报