- 博客(16)
- 收藏
- 关注
原创 1-4 c复习
int n = printf("output: %i64d \n", n);//64位打印//n是printf显示的字符位数void fun(int (*ptr)[3],int n);//[3]中的3不能少 ,二维数组指针。//等同于void fun(int ptr[][3],int n);//第一个中括号会退化,第二个不会退化。int main(){ int ...
2020-01-04 19:55:25
138
原创 1-4 Linux 线程
1-4 多线程编程:线程及相当于函数执行流程,main函数执行的是默认线程———主线程。每个进程至少包含一个线程,线程在其中并发执行——多线程。实现方式:用户级线程 :用户级为多线程,内核为单线程。不用频繁切换内核内核级线程:用户和内核都是多线程,要频繁切换内核,效率低。混合级线程 :用户和内核都有多线程和单线程。Linux中没有明确线程区分,把线程处理为类似进程,所...
2020-01-04 16:54:18
133
原创 1-1 c复习
字符数组 char arr[] = "ads"; //四个字节,有'/0' char arr[] = {'a','s','d'}; //没有'/0'char arr[10] ;arr = "asd"; //错误,数组名代表整个数组,不能作为左值。其大小为整个指针大小。野指针:指针指向不属于自身。一级指针:用于在另一个函数中修改本函数中的普通变...
2020-01-01 17:00:15
119
转载 linux系统下进程的信号(signal)处理流程是怎么样的?
作者:peilin song链接:https://www.zhihu.com/question/24913599/answer/115102869来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。信号是一种软件层面上对中断的模拟,而这种软件模拟的信号或者说中断的产生,有三大类:1. 硬件异常产生的错误。比如非法访问内存,除数为0...2. 外部信号。...
2019-11-23 20:23:45
434
转载 数据结构——栈与队列(顺序栈、链栈、循环队列、链队列)
————————————————版权声明:本文为CSDN博主「键盘上的钢琴师_v5」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/daijin888888/article/details/70144670...
2019-10-08 15:57:37
197
转载 引用和指针的差别?
c++中的引用与指针的区别 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 ★ 区别: 1. 指针是一个实体,而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 引用“从一而终” ^...
2019-10-08 15:37:07
107
转载 顺序表和链表的区别及其优缺点
1.顺序表存储(典型的数组) 原理:顺序表存储是将数据元素放到一块连续的内存存储空间,相邻数据元素的存放地址也相邻(逻辑与物理统一)。 优点:(1)空间利用率高。(局部性原理,连续存放,命中率高) (2)存取速度高效,通过下标来直接存储。 缺点:(1)插入和删除比较慢,比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序。 ...
2019-10-08 15:02:05
773
转载 内存泄漏与溢出
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导...
2019-10-08 14:33:32
94
转载 汇编语言寄存器
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2; //可以认为是给变量eax加上-2这样的一个值。这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。EAX是"累加器"(accumula...
2019-09-27 16:32:21
344
转载 free(p)前可以移动指针p吗?
首先,指针中是没有所在内存块大小的信息的,那么 free 怎么才能知道要释放的内存块有多大呢? 对于大多数内存分配器,malloc 申请的实际内存比你要求的空间要大几个字节,里面存储了额外的数据来记录这块内存有多大,一般就是直接存在指针左边。free 的时候,就会去读取指针地址减去一个常数之后的那块内存,来获取内存块的信息。因此如果你 free 一个不指向内存块开始处的指针,fre...
2019-09-27 15:54:41
271
转载 enum枚举
#define命令虽然能解决问题,但也带来了不小的副作用,导致宏名过多,代码松散,看起来总有点不舒服。C语言提供了一种枚举(Enum)类型,能够列出所有可能的取值,并给它们取一个名字。枚举类型的定义形式为:enum typeName{ valueName1, valueName2, valueName3, ...... };enum是一个新的关键字,专门用来定义枚举类型,这也是它在C...
2019-09-27 15:42:13
91
转载 正则化与归一化
归一化(Normalization)归一化可以指把一组数据缩放到[0,1]的范围内,或者自定义的某个范围内。也可以指对一组数据缩放,使其的和为1。其目的是通过把有量纲表达式变为无量纲表达式,有利于不同量纲数据之间的比较、展示等。主要的归一化算法有:1.线性转换,即min-max归一化(常用方法)x'=(x-min)/(max-min)2.平均归一化x' = (x - μ...
2019-09-27 15:28:52
421
转载 #define Arsize 10和const int size = 10的区别
(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。(2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具体的类型,在编译阶段会执行类型检查。(3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。 const常量会在内存中分...
2019-09-27 15:08:38
589
转载 try catch与if else
有人说了try ...catch...不就是抛出异常以文本形式显示出来么?if...else...也可以阿.else里面写showmessage不就可以么???首先try提捕获异常的,即异常并不是我们能预先知道的,所以不能用if什么条件来判断的。异常是需要在程序的运行中进行捕获的。举个例子来看看吧: int a=200,b=0;int c;try...
2019-09-27 15:08:30
336
转载 assert 和if
这是库里面对assert的定义,从函数可以看出在非debug模式下(就是release模式)assert是不起任何作用的,在debug模式下如果表达式的值是0,那么输出消息并终止程序的运行,如果表达式的结果为真那么assert不做任何操作,所以说如果assert断言失败就表示程序中存在bug,出现了预期不应该存在的情况。assert是用来发现运行时错误的捕捉在运行时发生不应该发生的非法情况,发...
2019-09-27 15:08:06
461
转载 main函数的参数
int main(int argc, char *argv[], char *envp[]) { int i = 0; for (i = 0; i < argc; i++) { printf("%s\n", argv[i]); } ret...
2019-09-23 17:42:44
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人