![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
复习
NeverWA
哈啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
展开
-
复习C语言随笔 一
复习C语言随笔 一存储器寄存器高级缓存内存硬盘网盘几个关键字关键字 register 申请变量时建议申请寄存器 关键字 volatile 保证内存的可见性,通常和关键字const搭配使用 关键字 extern 声明关键字为全局变量,说明该变量是在别的文件中定义的 关键字 static 有点小问题在C语言中,以const限定的变量,可以用指针改变该变量的值,并且编译器会报出一个警告 在C++中原创 2018-03-18 08:23:54 · 12452 阅读 · 0 评论 -
复习C语言随笔 十三
整型类型在内存中的存储int main(){ char a = -128; // 10000000 00000000 00000000 10000000 // 11111111 11111111 11111111 01111111 // 11111111 11111111 11111111 10000000 // 11111111 11111111...原创 2018-03-20 17:53:57 · 12451 阅读 · 0 评论 -
复习C语言随笔 十
数据在内存中的存储从源码到执行编译环境: 编译–>链接编译分为:预处理(预编译)–> 编译 –> 汇编 –>链接每个源文件单独编译 ,生成对应 .obj 目标文件。预处理(-E): 对头文件的包含、对注释的删除、对宏定义符号的替换编译(-S): 把源代码转换成汇编代码,在此过程中进行语法分析、 词法分析、语义分析、符号汇总,对应.s文件...原创 2018-03-21 09:21:34 · 12586 阅读 · 0 评论 -
Linux shell特殊字符
Linux shell特殊字符通配符星号(*)匹配任意字符 try*c //匹配: try1.c try.c try.basic问好(?)匹配任意单个字符方括号([])匹配括号里所限定的任何一个字符[Mm]akefile //匹配Makefile makefilefile[1-5] //匹配file1...原创 2018-03-22 11:37:04 · 25598 阅读 · 0 评论 -
C语言之柔性数组
C语言之柔性数组什么是柔性数组?C99 中,结构体中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。 说白了,柔性数组是数组。只不过这是一种特殊的数组——先给出数组大小,然后再根据给出的大小定义柔性数组的大小(用多大就开多大)。定义柔性数组定义柔性数组存在于结构体的内部,并不像C++那样直接在数组里填一个变量。柔性数组的定义必须借助结构体实现,例如:...原创 2018-03-30 21:04:59 · 12826 阅读 · 0 评论 -
Linux权限
Linux权限说明权限符号r: 读权限 w: 写权限 x: 执行权限 特殊权限:s 和 t s权限:强制位。 t权限:粘贴位。让普通用户可以cp,不可以mv、rm。t权限有效的前提是普通用户有x权限用户符号u:拥有者 g:拥有者同组 o:其他用户 a: 所有用户权限说明r、w、x 对应位为1,表示拥有该权限 同时,可以把...原创 2018-03-31 17:37:29 · 12913 阅读 · 0 评论 -
指针深度理解
深度理解指针指针指针是什么? 就一句话,指针就是地址。指针里面存的是地址而不是像int、char等里面存的是具体的值,而对指针里的地址解引用之后才可以得到具体的值指针数组int *p1[10];操作符“[]”的优先级比“*”高,所以p1先和“[]”结合,形成数组,之后这个数组再和“*”结合,形成指针数组。换句话说,在上述定义里面,p1是一个数组,只不过这个数组有点特...原创 2018-03-22 11:34:29 · 12773 阅读 · 0 评论 -
复习C语言随笔 二
复习C语言随笔 二使用异或交换两数a = 5; b = 10;a = a^b;b = a^b;a = a^b;辗转相除法while(a%b!=0){ int temp = a%b; a = b; b = temp;}悬空else int a = 0; int b = 1; if(a ==2) ...原创 2018-03-18 08:25:22 · 12441 阅读 · 0 评论 -
C语言几种特殊的自定义类型
C语言几种特殊的自定义类型结构体结构体的创建可以在创建结构体的时候添加结构体的标签tag,用来为该结构体取唯一的名字,以便于和其它结构体区分开。struct tag{ member_list;} variable_list;也可以在创建结构体的时候不加标签,声明为一个匿名结构体。如:struct{char name[20];//名字int a...原创 2018-03-29 14:15:56 · 13376 阅读 · 0 评论 -
复习C语言随笔 十二
数组类型int arr1[3]; //这里的arr1数组和arr2数组都是int型的数组int arr2[4]; //但它们各属于不同的类型: 前者类型为 int [3] 后者类型为 int [4] 大小端int a = 3; //00 00 00 03大端把一个数字的高位字节序的内容存储在低地址处,把低位字节序的内容存储到高地址处小端...原创 2018-03-20 17:53:39 · 12537 阅读 · 0 评论 -
复习C语言随笔 十一
复习C语言随笔 十一命令行定义许多C 的编译器提供了⼀种能⼒,允许在命令⾏中定义符号。⽤于启动编译过程。例如#include <stdio.h>int main(){ int array [ARRAY_SIZE]; int i = 0; for(i = 0; i< ARRAY_SIZE; i ++) { array[i] = i; } for...原创 2018-03-20 17:53:21 · 12438 阅读 · 0 评论 -
C语言之回调函数
C语言之回调函数回调函数就是一个通过函数指针调用的函数。 在c语言中,有一个叫做qsort函数,就是利用了函调函数完成了对任意类型数据的快速排序。 今天,我写了一个对任意类型进行插入排序的函数: insert_sort()/*对buf 指向的数据(包含num 项,每项的大小为size)进行快速排序。如果函数compare 的第一个参数小于第二个参数,返回负值;如果等于返回零值...原创 2018-03-22 16:15:09 · 12926 阅读 · 0 评论 -
复习C语言随笔 三
复习C语言 三getchar()失效实例:#include<stdio.h> int main(){ char arr[10] = {0}; char ch; printf("请输入密码\n"); scanf("%s",arr); printf("请确认/N\n"); ch...原创 2018-03-19 16:58:34 · 12426 阅读 · 0 评论 -
复习C语言随笔 四
复习C语言随笔 四1. 传参#include<stdio.h>int jisuandaxiao(int a[]){ return sizeof(a)/sizeof(a[0]);}int main(){ int a[6] = {0,1,2,3,4,5}; printf("%d", jisuandaxiao(a)); return ...原创 2018-03-19 16:59:18 · 12421 阅读 · 0 评论 -
复习C语言随笔 五
复习C语言随笔 五几个需要注意的操作符1 移位操作符1 左移操作符 << 高位丢弃,低位补02 右移运算符 >> 2.1 算术移位 低位丢弃,高位补符号2.2 逻辑移位 低位丢弃,高位补0在实际中到时使用算数移位还是逻辑移位取决于编辑器|Note: C语言中没有涉及位移量为负数的情况2 位操作符1 按位与 &am...原创 2018-03-19 17:00:41 · 12300 阅读 · 0 评论 -
复习C语言随笔 六
1 define 与 const 与 typedef 与 enum1 define 不是一个关键字,用于宏定义。#define M 3 //宏常量int i=M; //预编译期间进行宏替换,分配内存int j=M; //再次进行宏替换,又一次分配内存! 这里的 #define 宏常量在预编译阶段进行简单替换,本身没有类型。2 ...原创 2018-03-19 17:01:01 · 12466 阅读 · 0 评论 -
复习C语言随笔 七
复习C语言随笔 七函数1 isdigit() 检查字符是否为数字字符。若是,返回非0;否,返回0。头文件: stdlio.h 。2 memset(void *buffer, int ch, size_t count ) 函数拷贝ch 到buffer 从头开始的count 个字符里, 并返回buffer指针。 memset() 可以应用在将一段内存初始化为某个值。头文...原创 2018-03-19 17:04:44 · 12430 阅读 · 0 评论 -
复习C语言随笔 八
复习C语言随笔 八NOTE: 我使用的编译器为64位,所以地址占8个字节#include<stdio.h>int main(){ // 一维数组 int a[] = {1,2,3,4}; printf("%d\n",sizeof(a)); //16 a的长度 printf("%d\n",sizeof(a+0));...原创 2018-03-19 17:05:14 · 12415 阅读 · 0 评论 -
复习C语言随笔 九
断言assert(); 若该表达式为真,则它不发生什么事情 若表达式为假,则报一个断言失败的错,出错内容为assert()中的内容 NOTE:它只在Debug中起作用,所以可以在调试过程中用它作为某些判断且不用在Release中修改代码。...原创 2018-03-19 17:05:54 · 12402 阅读 · 0 评论 -
Linux文件的系统调用
Linux文件的系统调用文件描述符操作系统识别文件的唯一标识。当进程创建一个新文件或者打开现有文件时,系统内核向进程返回一个文件描述符。范围为0~255三个特殊的文件描述符前三个文件标识符在系统中规定为: #define STDIN_FILENO 0 //标准输入文件 #define STDOUT_FILENO 1 //标准输出文件 #define ST...原创 2018-04-18 08:42:39 · 15317 阅读 · 0 评论