C语言
duanyp819
这个作者很懒,什么都没留下…
展开
-
一个可执行程序的组成
一个可执行程序由四个区域组成:代码段、静态数据区、堆和栈。代码段包含程序运行时多执行的部分变量,静态数据区包含在程序生命周期内一直持久的数据,比如全局变量和静态局部变量。堆包含程序运行时动态分配的存储空间,比如用malloc分配的内存。栈包含函数调用信息,比如输入参数,返回值,零时存储空间,输出参数。原创 2016-04-29 22:58:45 · 1033 阅读 · 0 评论 -
算法例题-求输入一个整数,输出对应二进制中1的个数。
把一个数减去一在和原来的数进行与运算,得到的结果相当于是吧整数最右边的1变成了0,这样能做几次,就代表有多少个1.代码:int number(int n){int count=0;whilr(n){++count;;n=(n-1)&n;}return count;}转载 2016-05-12 20:19:16 · 445 阅读 · 0 评论 -
数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
一、基本概念每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。性质:1、非空二叉树的第n层上至多有2^(n-1)个元素。2、深度为h的二叉树至多有2^h-1个结点。满二叉树:所有终端都在同一层次,且非终端结点的度数为2。在满二叉树中若其深度为h,则其所包含的结点数必为2^h-1。完全二叉树:除了最大的层次即成为一颗满转载 2016-05-13 10:03:56 · 205 阅读 · 0 评论 -
深入分析C++引用
背景在 c/c++ 中,访问一个变量只能通过两种方式被访问,传递,或者查询。这两种方式是:1. 通过值 访问 / 传递变量2. 通过地址 访问 / 传递变量 – 这种方法就是指针 除此之外没有第三种访问和传递变量值的方法。引用变量也就是个指针变量,它也拥有内存空间。最关键的是引用是一种会被编译器自动解引用的指针。很难相信么?让我们来看看吧。。。 下面是一段转载 2016-05-06 21:23:29 · 160 阅读 · 0 评论 -
结构体字节对齐
结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何 变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因:转载 2016-05-19 13:42:12 · 180 阅读 · 0 评论