基础知识总结
函数之间数据传递的方式有,返回值,参数,全局变量,地址传递。
全局变量:在函数外定义的变量,默认是extern,作用域整个文件或其他文件(全局变量在main函数前面定义,全局变量的存储分为.data和.bss,都是静态变量。静态变量只声明一次,在整个程序结束才释放空间)
局部变量 :函数内部定义的或代码块内定义的变量 auto 栈,从定义的地方生效,只在代码段有效
============================================》》
存储类型:auto,external,static,register
auto :普通局部栈变量,自动存储自动销毁
extern:外部变量声明已在别的地方定义过,这里只是引用
static:静态数据,数据在静态区,作用域只在本文件中
register:寄存器变量,请求编译器将这个变量保存在CPU的寄存器中
=============================================》》
.data存放已经初始化的全局变量和静态变量
.bss存放未初始化全局变量和静态变量,程序运行时.bss被清零
============================================》》
栈--系统自动分配代码块结束释放
堆--手动释放int const *p=malloc() free(p)
static :1对全局改变链接属性,变 为内部链接。把一个默认的extern类型变成static
2 对局部变量。改变存储位置。从栈空间----》静态区,改变了生存周期
============================================》》
外部链接:作用域拓展到其他文件中叫链接属性,能被其他文件访问
内部链接:本文件使用的作用域
==============(软/硬件链接的区别)
ln -s source dist # 建立软连接
ln source dist # 建立硬连接
1 软链接文件
软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
**********链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。
用ln -s 命令可以生成一个软连接,如下:
[root@linux236 test]# ln -s source_file softlink_file
在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
2 硬链接文件
info ln 命令告诉您,硬链接是已存在文件的另一个名字(A "hard link" is another name for an existing file),这多少有些令人困惑。硬连接的命令是
ln -d existfile newfile
硬链接文件有两个限制
1)、不允许给目录创建硬链接;
2)、只有在同一文件系统中的文件之间才能创建硬链接。
软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬链接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。 软连接与windows下的快捷方式类似 至于硬连接,举个例子说吧,你把dir1/file1硬连接到dir2/file2, 就是在dir2下建立一个dir1/file1的镜像文件file2,它与file1是占用一样大的空间的,并且改动两者中的一个,另一个也会发生同样的改动.
=====================================================================================================
计算o的方法
1计算T(n)语句频度
2T(n)是一个多项式。保留多项式的最高次项,其他项舍去
3若最高次项系数不为1,则化为1
=======================================================
typedef 旧数据类型 新数据类型
链表:
数据以线性表形式排列,数据没有在同一块存储区域,
==========================================================》》》
rand():生成0~2^31-1的随机数
sand( ):重新定义选取随机数表的坐标,整个程序只需设置1次即可
srand(数字)数字的选取需要简单方便,而且需要每次变化
所以我们经常使用时间来初始化种子
srand(time(NULL))
控制随机数的范围rand()%100+1生成从 1到100的随机数
=====================================================》》》

浙公网安备 33010602011771号