![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C
文章平均质量分 80
C语言学习笔记
'"<>{{7*7}}
这个作者很懒,什么都没留下…
展开
-
win32网络编程(学习笔记):多客户端简单聊天室,实现简易FTP,UDP套接字编程、TCP的11状态
0x00 多客户端简单聊天室思路:主线程循环不断接受客户端连接:创建一个全局数组来保存每次连接主套接字产生的从套接字(为什么要全局数组,为了线程之间通信) 循环调用accept函数接受客户端的连接每个客户端连接上成功后,创建一个线程来负责和这个客户端通信客户端发送给服务器的数据,服务器接受后需要转发给当前连接上服务器的所有客户端客户端需要有两个线程:一个线程循环不断接受用户输入,并发送给服务器 另一个线程循环不断接受服务器发来的数据并显示代码:服务器代码:// Se原创 2020-12-15 16:24:05 · 573 阅读 · 0 评论 -
CDay10文件操作
文件存在硬盘中程序运行过程中,能直接操作硬盘中文件么?程序运行过程中,如果要操作文件,先要把文件和文件中的内容放到内存中,操作内存,最后保存修改到硬盘中C文件操作函数:读 fread(从硬盘到内存) fscanf fget fgetchar 写 fwri...原创 2019-01-27 20:58:28 · 103 阅读 · 0 评论 -
CDay09 联合和枚举
数组:元素相邻,连续内存段链表:节点不相邻,非连续#include <stdio.h>#include <stdlib.h>#include <stdbool.h> //1.链表节点类型定义 typedef struct node{ int data;//数据 struct node* next;//指向下一个节点 }Node; //...原创 2019-05-29 07:37:19 · 121 阅读 · 0 评论 -
CDay04 指针
指针学习没有极限,即使你用了一两年,再次学习指针都会有新收获,指针掌握的越好,运用指针才能更加灵活。变量:一块内存段类型:用来决定变量的占内存大小以及存储方式使用变量:写访问:写入对应的内存段;int n=1; 读访问:拿到一个值。 printf(“%d”,n);通过变量名,去找绑定的内存段,再从内存段中取出相应的值作为表达式的返回值。 变量名是个表达式,我们使用的只是...原创 2019-05-17 16:56:19 · 112 阅读 · 0 评论 -
CDay03 数组
数组:保存多个相同类型数据的连续内存段。元素:数组中保存的数据声明一个数组本质上就是向操作系统内核申请一块内存。所以,必须告诉编译这块内存的大小(sizeof类型 * 元素个数),以及这段内存的名称(数组名)类型名 数组名 [元素个数]#if 0 int a[5];//没有初始化数组,数组绑定的内存段中存储的数据为乱码 //初始化:只有在定义变量的时候赋值才叫初始化。 in...原创 2019-05-17 11:20:28 · 75 阅读 · 0 评论 -
CDay02: 循环
编程语言:所有的编程语言都是事和物。物:数据(内存)事:main开始 从上往下 从左往右(CPU)判断:if else switch循环:#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch,...原创 2019-05-16 12:30:55 · 229 阅读 · 0 评论 -
CDay05 函数高级
#include <stdio.h>#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) { //char* s...原创 2019-05-19 16:03:20 · 281 阅读 · 0 评论 -
CDay07 结构体
什么是数据结构?数据结构类似于日常生活中用到的塑料袋纸箱,是用来存东西的,即管理数据的结构,本身无意义;包括:变量,数组,动态数组(栈,队列),链表,树(二叉树,完全二叉树,堆(动态内存分配就是分配的堆内存,是用堆这种数据结构来管理的,而堆的本质就是树),平衡二叉树,哈夫曼树。。。),图,vector(动态数组),deque(双向动态队列),list(双向动态链表),map(图),hash...原创 2019-03-17 20:27:36 · 109 阅读 · 0 评论 -
CDay06(数据结构)用动态数组来实现栈和队列(动态内存分配,动态数组,栈,队列,时间复杂度,空间复杂度)
目录0x00动态内存分配一般用在什么地方?0x01动态内存分配实现动态的数据结构如何实现动态数组?栈:特殊的动态数组,只能够先入后出,后入先出。0x02作业:写一个队列0x00动态内存分配一般用在什么地方?数组必须规定大小,一定得等到程序结束,才能释放内存。为了防止内存浪费,我们一般都要使用动态内存分配。动态内存分配能够及时的把开出的内存释放掉,而不是等到程序...原创 2019-03-17 15:49:33 · 383 阅读 · 0 评论 -
CDay08 链表
回顾:结构体占据的内存并非成员变量的简单加和,为了点这个智能指针寻址方便,结构体分配内存时有:对齐:相邻两个成员变量,参照占据内存大的分配内存补齐:结构体指针:指向一个结构体的指针数组>>优化>>动态数组>>队列和栈:保存多个相同类型的数据;增:在末尾添加速度快,在头部添加速度慢,因为在头部添加需要将数组中所有的数据往后挪一位删:效率...原创 2019-03-20 15:14:27 · 107 阅读 · 0 评论