摘要: http://blog.sina.com.cn/s/blog_640e171401014ykc.html如何计算结构体及共用体大小(声明:以下均为我一个字一个字打上去的,来源于大一上学期所作笔记) 对于结构体 首先理解字节对齐机制: (1),结构体变量的首地址能够被其最宽基本类型成员大小所整除。 (2),结构体每个成员相对于结构体首地址的偏移量(offset)都是该成员大小的整数倍,如有需要,编译器会在成员之间加上中间填充字节。 (3)结构体总大小为结构体最宽基本类型成员大小的整数倍,如有需要,编译器会在最末一个成员之后加上末尾填充字节。 第(2)、(3)条准则决定了结构体变量占据内存空间的大 阅读全文
posted @ 2013-11-13 13:28 天天向上... 阅读(1439) 评论(0) 推荐(0) 编辑
摘要: ---------------------------------------------------------------------------------------#include #include using namespace std;#define MAX 32767 typedef struct{ int weight; char value; int parent; int lchild; int rchild;}HTNode, *HuffmanTree; //动态分配数组存储霍夫曼树typedef struct{ cha... 阅读全文
posted @ 2013-11-05 19:18 天天向上... 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 前面一节我们知道了,怎样去创建一个哈夫曼树,这一节我们来看看哈夫曼编码。思想:得到哈夫曼树后,自顶向下按路径编号,指向左节点的边编号0,指向右节点的边编号1,从根到叶节点的所有边上的0和1连接起来,就是叶子节点中字符的哈夫曼编码。下图体现了哈夫曼编码的过程:#include#include#include//哈夫曼树结点typedef struct HuffNode{intweight;char ch;char code[20];struct HuffNode*rchild;struct HuffNode*lchild;}HuffMan;//队列设计typedef struct _node_{ 阅读全文
posted @ 2013-11-05 19:16 天天向上... 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 经典的三次握手示意图:(#add,“握手”即图中左边到右边的连线)经典的四次握手关闭图:TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机)ACK(acknowledgement 确认)PSH(push传送)FIN(finish结束)RST(reset重置)URG(urgent紧急)Sequence number(顺序号码)Acknowledge number(确认号码)第一次握手:主机A发送位码为syn=1,随机产生seqnumber=1234567的数据包到服务器,主机B由SYN=1知 阅读全文
posted @ 2013-11-05 18:49 天天向上... 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 嵌入式开发—C语言面试题源地址:http://blog.csdn.net/xdx2ct1314/article/details/73589291. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。3). 意识到这个表达式将使一个16位机的整型 阅读全文
posted @ 2013-11-05 10:59 天天向上... 阅读(2280) 评论(0) 推荐(0) 编辑
摘要: 值传递、指针传递、引用传递的区别C++中值传递、指针传递、引用传递的总结 收藏1. 值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。void swap(int a,int b){ int temp; temp=a; a=b; b=temp; cout<<a<<’ ‘<<b<<’\n’;}int main(){ int x=1; int y=2; swap(x,y); cout& 阅读全文
posted @ 2013-11-05 10:58 天天向上... 阅读(505) 评论(0) 推荐(0) 编辑
摘要: [cpp]view plaincopy#include#include/*基于C语言的个人所得税计税系统问题描述:我国现行的个人所得税计算方法如下: 级数 全月应纳税所得额 税率(%) 1不超过500元的 5 2超过500元至2000元的部分 10 3超过2000元至5000元的部分 15 4超过5000元至20000元的部分 20 5超过20000元至40000元的部分 25 6超过40000元至60000元的部分 30 7超过60000元至80000元的部分 35 8超过80000元至100000元的部分 40 9超过10000... 阅读全文
posted @ 2013-11-05 10:47 天天向上... 阅读(4645) 评论(0) 推荐(0) 编辑
摘要: 向上向下取整函数数只会对小数点后面的数字不为零的数进行操作,要是给它一个整数 它就返回整数本身.对小数不为零的数操作:向上取整 不管四舍五入的规则 只要后面有小数前面的整数就加1向下取整 不管四舍五入的规则 只要后面有小数忽略小数给定 4.9调用用向下取整函数 得到的是 4调用用向上取整函数 得到的是 5 Word->插入->符号,在字体中选择Lucida Sans Unicode 子集选择数学运算符 就能找到向上、向下取整符号向下取整的运算称为Floor,用数学符号⌊⌋表示,与之相对的,向上取整的运算称为Ceiling,用数学符号⌈⌉表示。C语言定义的取整运算既不是Fl... 阅读全文
posted @ 2013-10-31 09:58 天天向上... 阅读(67724) 评论(0) 推荐(1) 编辑
摘要: 源地址:http://www.cnblogs.com/flyinghearts/archive/2012/03/18/2405118.html本篇文章发表在下面三个博客中,如果出现排版问题,请移步到另一个博客。http://www.cppblog.com/flyingheartshttp://www.cnblogs.com/flyingheartshttp://blog.csdn.net/flyinghearts1在一个字符串中找到第一个只出现一次的字符,如输入abac,则输出b。2输出字符串的所有组合,如"abc"输出a、b、c、ab、ac、bc、abc。3根据条件找出两 阅读全文
posted @ 2013-10-30 19:12 天天向上... 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态。头指针指示链表中第一个结点(即第一个数据元素的存储映像)的存储位置。同时,由于最后一个数据元素没有直接后继,则线性链表中最后一个结点的指针为“空”(NULL)。图1 线性链表的逻辑状态由上述描述可见,单链表可由头指针来唯一确定,在C语言中可用“结构指针”来描述。view plaincopy to clipboardprint?//-----线性表的单链表存储结构-----typedefstructLNode{ElemTypedata;structLNode*next;}LNode,* 阅读全文
posted @ 2013-10-30 17:15 天天向上... 阅读(210) 评论(0) 推荐(0) 编辑