摘要: 谭浩强老师的《C语言程序设计》第二版,page211页,有这样一段话:引用数组元素可以用下标法,也可以用指针法,即通过指向数组元素的指针找到所需的元素。使用指针法能使目标程序质量高(占内存少,运行速度快)。每次看到这个地方我都有点不解。后来在VC6.0环境下想了个实验办法,编写一个简单的控制台程序,利用反汇编工具察看编译后的代码,发现好像不是这样子的。从下面代码看,好像利用指针访问数组元素要比下标法要慢。代码如下:#include <stdio.h>void main(){ int i; int a[10]={10,20}; int *b=a; printf("%d&qu 阅读全文
posted @ 2013-04-18 13:57 ~风~ 阅读(749) 评论(0) 推荐(0) 编辑
摘要: 111111111 阅读全文
posted @ 2013-04-15 09:19 ~风~ 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 第一范式 1NF属性不可再分割,符合原子性。没什么好解释的,地球人都明白 第二范式 2NF在1NF的基础上:不允许出现有field部分依赖于主键(或者说依赖于主键的一部分)官方说法:数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于整组候选关键字。 Allen解释一下:比如一张表是(A, B, C, D),其中(A, B)是主键,如果存在B->C就违反了2NF,因为C只需要主键的一部分就可以被决定了 第三范式 3NF在2NF的基础上:不允许出现可传递的依赖关系(transitive 阅读全文
posted @ 2013-04-12 22:53 ~风~ 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 解答(欢迎共同讨论)转载请注明来源http://www.cnblogs.com/jerry19880126/选择D。循环队列的front和rear必有一个不指向实质元素,不然无法判断队列满或空。C。是这样的原理,磁盘会一直朝某个方向旋转,不会因为处理数据而停止。本题要求顺序处理R1到R10,起始位置在R1,一周是20ms,共10个记录,所以每个记录的读取时间为2ms。首先读R1并处理R1,读R1花2ms,读好后磁盘处于R1的末尾或R2的开头,此时处理R1,需要4ms,因为磁盘一直旋转,所以R1处理好了后磁盘已经转到R4的开始了,这时花的时间为2+4=6ms。这时候要处理R2,需要等待磁盘从R. 阅读全文
posted @ 2013-04-12 21:48 ~风~ 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 有待商榷在C++中,申请和释放堆中分配的存贮空间,分别使用new和delete的两个运算符来完成: 指针类型 指针变量名=new 指针类型 (初始化); delete 指针名; 例如:1、 int *p=new int(0); 它与下列代码序列大体等价: 2、int tmp=0, *p=&tmp; 区别:p所指向的变量是由库操作符new()分配的,位于内存的堆区中,并且该对象未命名。 下面是关于new 操作的说明 :部分引自<<C++面向对象开发>> 1、new运算符返回的是一个指向所分配类型变量(对象)的指针。对所创建的变量或对象,都是通过该指针来间接操作的, 阅读全文
posted @ 2013-04-12 20:58 ~风~ 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 一.本质区别 sizeof 和 strlen 有本质上的区别。sizeof 是C 语言的一种单目运算符,如++ 、-- 等,并不是函数,sizeof 的优先级为2 级,比/ 、% 等3 级运算符优先级高,sizeof 以字节的形式给出操作数的存储空间的大小。而strlen 是一个函数,是由C 语言的标准库提供的。strlen 计算的 是字符串的长度。 二.使用区别 1.sizeof sizeof 的操作数可以是数据类型、函数、变量,表达式使用方式为: (1)数据类型 sizeof (type ) 例如我们要计算一个int 型数据的存储空间可以用:sizeof (int)。需要注意的是 size 阅读全文
posted @ 2013-04-12 20:34 ~风~ 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 1、段式和页式存储管理的地址结构很类似,但是它们有实质上的不同,以下错误的是(D) A.页式的逻辑地址是连续的,段式的逻辑地址可以不连续 B.页式的地址是一维的,段式的地址是二维的 C.分页是操作系统进行的,分段是用户确定的 D.页式采用静态重定位方式,段式采用动态重定位方式 2、在以下的存储管理方案中,能扩充主存容量的是(D) A. 固定式分区分配 B. 可变式分区分配 C. 页式存储管理 D. 分页虚拟存储管理3、段页式管理中,地址映像表是(C) A.每个进程一张段表,一张页表 B.进程的每个段一张段表,一张页表 C.每个进程一张段表,每个段一张页表 D.每... 阅读全文
posted @ 2013-04-12 18:54 ~风~ 阅读(7860) 评论(0) 推荐(0) 编辑
摘要: 内存管理操作系统数据结构算法目录内存管理方法连续分配存储管理方式单一连续存储管理分区式存储管理固定分区nxedpartitioning动态分区dynamic partitioning伙伴系统内存紧缩覆盖和交换技术覆盖技术交换技术覆盖与交换比较页式和段式存储管理页式存储管理基本原理页式管理的数据结构页式管理地址变换段式存储管理基本原理段式管理的数据结构段式管理的地址变换页式和段式管理的区别1. 内存管理方法 内存管理主要包括虚地址、地址变换、内存分配和回收、内存扩充、内存共享和保护等功能。 2. 连续分配存储管理方式 连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分. 阅读全文
posted @ 2013-04-12 18:42 ~风~ 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。 【箭头指向】:带三角箭头的实线,箭头指向父类 2. 实现(Realization) 【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的... 阅读全文
posted @ 2013-04-12 18:22 ~风~ 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 腾讯的流程是一笔和四面。前三次面试都是技术面,hr面基本不刷人。笔试成绩决定面试顺序。技术面可能要写代码,做智力题目。主要是c/c++、数据结构、操作系统等方面的基础知识。好像有sizeof、树等选择题。填空题是补充完整程序。附加题有写算法的、编程的、数据库sql语句查询的。还有一张开放性问题。1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。int const shift= sizeof(int)*8-1; unsigned mask =(0x1<<shift); if ( (a-b)&mask)max_num = b; elsem... 阅读全文
posted @ 2013-04-12 17:44 ~风~ 阅读(233) 评论(0) 推荐(1) 编辑