摘要:#include <ctype.h> 函数 介绍 isalnum 判断一个字符是否是字母或数字 isalpha 判断一个字符是否是字母 isblank 函数用来检测一个字符是否是空白符 C语言一般使用 ASCII 编码,这样的空白符只有空格' '和水平制表符'\t' isspace 函数用来检测一个
阅读全文
摘要:读写模式 FILE 结构体 三种刷新缓冲区的操作 简单读写示例: fgetc 与 fputc fgets 与 fputs fread 与 fwrite fscanf 与 fprintf rewind 和 fseek 随机读写文件 feof 拷贝文件 read 与 write 错误集合 #includ
阅读全文
摘要:所需要的头文件 #include <memory> shared_ptr : 允许多个指针指向同一个对象; unique_ptr : 独占 所指向的对象 weak_ptr : 弱引用 shared_ptr独有的操作 make_shared函数 : 最安全的分配和使用动态内存的方法 shared_pt
阅读全文
摘要:基本创建线程 通过类创建线程 通过Lambda创建线程 带参数的线程创建方式 以智能指针为参数的线程 以类的成员函数去充当线程处理函数 cout<<this_thread::get_id()<<endl; // 获取线程Id 注意点: 创建一个线程,不做处理,会调用abort函数中止处理 一个线程只
阅读全文
摘要:冒泡排序 选择排序 插入排序 希尔排序 快速排序 非递归的快速排序 qsrot 堆排 基数排序 以下算法所需要的一些信息 #define N 10 #define SWAP(a,b){int tmp;tmp=a;a=b;b=tmp;} 冒泡排序 void arrMP(int* arr) { int
阅读全文
摘要:1.栈 2.循环队列 3.基本二叉树 4.基本二叉树进阶 栈 stack.h #pragma once typedef struct tag{ int m_val; struct tag *pNext; }Node_t,*pNode_t; typedef struct { pNode_t phead
阅读全文
摘要:#include <iostream> union data{ int i; char c; float f; }; enum weekday{sun,mon,tue,wed,thu,fri,sat}; int main() { union data a; // 联合体,共用体所有成员共用一块空间
阅读全文
摘要:struct Student{ int num; char name[20]; char sex; int age; float score; char addr[30]; }; void demo() { struct Student s={1001,"lele",'M',20,98.5,"Sha
阅读全文
摘要:goto介绍 利用了goto和if语句来实现了循环功能,它与while实现的循环功能一样 int day = 1; loop: if (day <= 31) { printf("%d\n", day); day++; goto loop; } setjmp,longjmp介绍 #include <s
阅读全文
摘要:1.并发 2.并行 3.进程 4.线程 5.协程 6.阻塞与非阻塞 7.同步与异步 IO 的概念有一定的认识: IO在计算机中指Input/Output,也就是输入和输出 并发于并行的例子 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。 你吃饭吃到一半,电话来
阅读全文
摘要:函数指针 函数指针:函数名本身即函数指针,指向函数的入口地址。 函数指针的定义:返回值类型 (*函数指针名)(形参列表类型) = 函数名; 函数指针的调用:函数指针名(实参列表); 等价于函数名(实参列表); #include <iostream> int my_func(int a,int b)
阅读全文
摘要:临时设置 alias cp='cp –i' unalias cp 取消系统的别命令 alias rm='rm -f' alias ...='cd ../..' alias ....='cd ../../../' alias egrep='egrep --color=auto' alias grep=
阅读全文
摘要:int a[5] = {1,2,3,4,5}; int b[3][4] = {1,2,3,4,5,6,5,1,2,4,5,6}; printf("%d\n",sizeof(a)); // 20 printf("%d\n",sizeof(b)); //48 printf("%d\n",sizeof(b
阅读全文
摘要:gets | puts fgets gets | puts gets:会读取空格,gets遇到\n后,不会存储\n,而是翻译为\0空字符 gets: 正常返回字符数组起始地址,失败返回 NULL puts: puts成功时返回非负值,失败时返回EOF. puts只能用于输出字符串,同时会多打一个换行
阅读全文
摘要:
阅读全文
摘要:转自 http://c.biancheng.net/cpp/html/156.html memcpy 用来复制内存内容 void * memcpy ( void * dest, const void * src, size_t num ); 并不关心被复制的数据类型,只是逐字节地进行复制,这给函数的
阅读全文
摘要:全缓冲: 全缓冲的典型代表是对磁盘文件的读写 行缓冲: scanf. printf. 都是行缓冲,等按下回车键换行时才进行实际I/O操作 不带缓冲: 也就是不进行换从,标准错误情况stderr是典型代表 scanf %d 忽略 空格 和 \n scanf 成功返回元素个数,失败返回0 #includ
阅读全文
摘要:打印99乘法表 字符串反转 递归调用 打印99乘法表 #include <stdio.h> int main() { int i,j; for (i = 1; i < 10; ++i){ for (j = 1; j <= i; ++j) printf("%d x %d = %d\t",j,i,i*j
阅读全文
摘要:用有效数字位来比较浮点数 #include <stdio.h> int main() { float b = 1.456; if(b-1.456 > -0.000001 && b-1.456<0.000001) printf("b is equal to 1.456\n"); else printf
阅读全文