C语言 + 数据结构
Java + 设计模式
1. 三个结构
2. 数组指针函数
3. 结构体/IO流
运行流程(脑补代码执行:模拟机器的思维)
1.编码
2.编译(gcc:翻译,连接)
3.运行
空间:单位:Byte 1 = 8 bit(0/1)
地址(编号):位置
名字(引用):别名
类型(容量):大小
属性(操作):读|写
内容(物品):数值
取内容的两个方法:
1. 通过引用取内容( a )
2. 通过地址取内容( *p ) pointer
宏:
原样替换
运算符:(位运算)
运算符的返回值:就像一个函数,他有返回值
*标准输入流函数:阻塞的概念
顺序结构:自上而下,逐条执行;
选择结构:根据条件,分支执行;
循环结构:根据条件,反复执行;
划归思想:把一系列的局部内容看成一个整体
1.递归 算法
2.面向对象编程 项目
数组:不管几维线性的存储
&取地址:
*取地址的内容:
+移位(整体思想):a+i => a+i*sizeof(a[0])
[]先移位再取内容( x[1] == *(x+1) )
1.开辟空间,数组名不再是空间别名,而是连续空间的首地址
2.数据类型:x[i]首地址/别名
指针
指针就是地址,一个指针变量的空间大小永远是4B,里面存放的内容是地址(指针)
数组名是指针常量,
函数
调用函数的地方,会被函数返回值完全替换
系统为每个函数开辟一个空间,函数名就是这个空间首地址,调用都是要通过这个地址的
变量作用域限制在花括号以内
声明
returnType functionName (args:argType);
定义
returnType functionName (args:argType){
codes;
}
调用:
ans = f(a,b);
函数重点:传参机制 ->值传递(引用传递)
结构体
struct Node{
int x;
double y;
}
流(数据流)
-----------------------------------
1.C语言
Data Struct
2.概述
2.1研究的问题
2.2存储结构
point1:可变长数组
point2:set
point3:queue ?
3.小总结
数据结构分为两个结构研究的问题
数据结构研究的问题
两个模块
四个内容
---------------------------
00P:
三个特性
可变长数组
开辟一个固定空间
queue:
fp=first;
rp=last+1;
空:rp==fp;
长:( rp-fp+maxsize)%maxsize
满:(rp+1)%maxsize=fp
数据结构研究的问题
两个模块
四个内容
---------------------------
00P:
三个特性
可变长数组
开辟一个固定空间
queue:
fp=first;
rp=last+1;
空:rp==fp;
长:( rp-fp+maxsize)%maxsize
满:(rp+1)%maxsize=fp
数据结构研究的问题
两个模块
四个内容
---------------------------
00P:
三个特性
可变长数组
开辟一个固定空间
queue:
fp=first;
rp=last+1;
空:rp==fp;
长:( rp-fp+maxsize)%maxsize
满:(rp+1)%maxsize=fp
数据结构分为两个结构
集合,队列,可变长数组
point8:haffman
贪心选择:
---------------------------
1.wall date 登录的人都收到一条date信息(通知所有人)
wall `date` 把date当成一个命令,将其执行结果警告所有人 b命令替换 cd `pwd`
c.重定向
标准输入、输出
Stdin Stdout Stderr
输出重定向 > 、 >>
ls > cmd.txt 把命令执行的结果输出到cmd.txt
more cmd.txt
ls >> cmd.txt
错误输出重定向 2> &>
lssss > cmd.txt
输入重定向 <、<<!.....!
vi test.txt wall < test.txt 相当于从test.txt读进来然后再传递给别人
ls -p ls -x
修改系统默认启动级别:(修改启动文件)
3 纯命令行界面,而且有网络的文件共享
5 图形界面
Linux最重要的:搭配一个server