海上月是天上月,眼前人是心上人。
02 2022 档案
摘要:通用的makefile,可以把当前工作目录下所有.c文件都直接编译链接成可执行程序。 SRCS:=$(wildcard *.c) EXES:=$(SRCS:%.c=%) all:$(EXES) %:%.c gcc $^ -o $@ SRCS:=$(wildcard *.c) EXES:=$(SRCS
阅读全文
摘要:如果把静态库比喻成普通汽车,那么购车时轮子和车辆是打包好出售的。 那么动态库就是F1方程式赛车,经常换轮子,且一开始轮子与车辆不在一起。 一般的程序都是使用动态库的,比较体积小易更新,但动态库也有它生存的土壤,比如华为在无信号荒岛上的机器设备,里面跑的程序那必须得是已经加载好了的静态库,因为没有信号
阅读全文
摘要:同时监听标准输入和管道,避免陷入读、写、报错的阻塞态。select函数参数里面有传入读集合、写集合以及error集合,会将对应的文件描述符存入对应的集合中(fd_set数据类型)。 fd是文件描述符,对应内核态文件索引数组的下标。 #include <homeworkhead.h> int main
阅读全文
摘要:(a). 定义一个学生结构体类型struct student,里边含有学号,姓名,分数,定义结构体数组struct student s[3],给数组赋初值后,写入文件,然后通过lseek偏移到开头,然后再读取进行打印输出 #include <homeworkhead.h> typedef struc
阅读全文
摘要:strcmp(acc,data[i].acc)==0 && strcmp(psw,data[i].psw)==0 //字符数组判等不能直接== //scanf不能写char*数据,只能写入字符数组char s[10]
阅读全文
摘要:分治法与动态规划共同点 :二者都要求原问题具有最优子结构性质,都是将原问题分而治之,分解成若干个规模较小(小到很容易解决的程序)的子问题.然后将子问题的解合并,形成原问题的解. 不同点:分治法将分解后的子问题看成相互独立的,通过用递归来做。 动态规划将分解后的子问题理解为相互间有联系,有重叠部分,需
阅读全文
摘要://后序遍历 void inOrder(BST_t* tree) { inOrder1(tree->root); } void inOrder1(TreeNode_t* node) { //边界条件 if (node == NULL) return; //递归公式 inOrder1(node->le
阅读全文
摘要:BST_t* create() { return calloc(1, sizeof(BST_t)); } void insert(BST_t* tree, char key) { TreeNode_t* prev = NULL; TreeNode_t* curr = tree->root; //查找
阅读全文
摘要:typedef struct node_s { int val; struct node_s* next; }Node_t; typedef struct linkedList_s { Node_t* head; //int size; }LinkedList_t; //创建链表 LinkedLis
阅读全文
摘要:int *p1[5]; int (*p2)[5]; 首先,对于语句“int*p1[5]”,因为“[]”的优先级要比“*”要高,所以 p1 先与“[]”结合,构成一个数组的定义,数组名为 p1,而“int*”修饰的是数组的内容,即数组的每个元素。也就是说,该数组包含 5 个指向 int 类型数据的指针
阅读全文