随笔分类 -  C/C++

摘要:二叉树的4种遍历方法,包括前序遍历,中序遍历,后序遍历,层次遍历的递归和非递归遍历。 前序遍历: 中序遍历: 中序遍历: 层次遍历: 阅读全文
posted @ 2016-09-13 20:58 胖子到瘦子 阅读(154) 评论(0) 推荐(0)
摘要:常见的排序算法总结。 冒泡排序: 简单选择排序: 插入排序: 快速排序: 堆排序: 归并排序: 希尔排序: 阅读全文
posted @ 2016-09-13 20:51 胖子到瘦子 阅读(124) 评论(0) 推荐(0)
摘要:一、内存泄露memory leak 由于疏忽或错误造成程序未能释放已经不再使用内存的情况。即用完了动态申请的内存后没有归还,导致自己也无法使用申请的内存(地址弄丢),系统也不能再次将它分配给程序。一次内存泄露危害可以忽略,但是内存堆积后果很严重。 1.内存泄露可以分为四类: 常发性内存泄露:发生内存 阅读全文
posted @ 2016-09-13 20:45 胖子到瘦子 阅读(244) 评论(0) 推荐(0)
摘要:一、Malloc/free 1.Malloc的原型:(#include <malloc.h>) Void * malloc(size_t size); // Void * malloc(unsigned int num_bytes); 如果分配失败,则返回NULL,否则返回申请内存的首地址。mall 阅读全文
posted @ 2016-09-13 20:36 胖子到瘦子 阅读(182) 评论(0) 推荐(0)
摘要:两种格式: 1.简单的宏定义:#define <宏名> <字符串> 2.带参数的宏定义:#define A(x) x 运行时机 C/C++的运行阶段: 预处理主要进行的步骤: 把源程序中的#include扩展为文件正文,即把包含.h文件找到并展开到#include所在处。 预处理器根据#if和#if 阅读全文
posted @ 2016-09-13 20:35 胖子到瘦子 阅读(224) 评论(0) 推荐(0)
摘要:变量的定义:为变量分配存储空间,还可以指定初始值。定义是“在这里建立变量”或“在这里建立函数”。对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数据,对于函数,编译器会生成代码,这些代码最终也要占用一定的内存。变量仅有一个定义。定义也是声明。 变量的声明:表明变量的类型和名字。它告诉编译 阅读全文
posted @ 2016-09-12 21:21 胖子到瘦子 阅读(255) 评论(0) 推荐(0)
摘要:Static 的作用 一、隐藏 当同时编译多个文件时,所有未加static前缀的全局变量和函数都有全局可见性。 1.不加static的两个源文件 Static_1.c static_2.c Static_2.c中可以使用stati_1.c中定义的全局变量a和函数msg(),因为所有未加static前 阅读全文
posted @ 2016-09-12 21:16 胖子到瘦子 阅读(587) 评论(0) 推荐(0)
摘要:一、空指针常量 一个表示0值的整数常量,叫做空指针常量。他可以赋值给任何指针类型,以内他是变量类型void*。空指针常量存在意义还在强调它并不指向任何对象。 二、空指针 (void *)0就是一个空指针。空指针不指向任何实际的对象或者函数,反过来说,任何对象或者函数的地址都不可能是空指针。 可以用N 阅读全文
posted @ 2016-09-12 21:02 胖子到瘦子 阅读(228) 评论(0) 推荐(0)