一般理论
文章平均质量分 55
scholar165
这个作者很懒,什么都没留下…
展开
-
关于位域
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制转载 2007-04-27 18:42:00 · 647 阅读 · 0 评论 -
C/C++中结构体内存分配问题
有人问起当一个结构体里面只有一个char型元素的时候,为什么这个类型的变量也占了四个字节呢.下面我们来看一下:对于一个结构体,里面的元素排列顺序不同,那么分配的空间也会不同. 我们在VC6.0下看如下结构体:struct test{ char item1; int item2; double item3;};当开辟一个如上结构体类型的空间的时候,系统为它准原创 2007-04-30 18:24:00 · 1947 阅读 · 0 评论 -
Java数组与C/C++数组的区别
在一次与同事的探讨中,我们提到了JAVA中返回数组的问题.因为他受了C/C++的影响,认为JAVA 中的数组跟C/C++一样是分配在栈中的.然而他忘了JAVA中的数组必须由new在堆中分配.所以只要你需要这个数组,它就会一直存在.那么对于这样一个函数:int [ ] getIntArray(){ int [ ]p = new int[10]; for原创 2007-04-27 17:49:00 · 1321 阅读 · 0 评论 -
关于调用约定
以下是我整理的一些关于调用约定的一些资料:绪言在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这原创 2007-05-04 19:13:00 · 785 阅读 · 0 评论 -
C++中的const
C++中const总结一、对于基本声明1.const int r=100; //标准const变量声明加初始化,因为默认内部连接所以必须被初始化,其作用域为此文件,编译器经过类型检查后直接用100在编译时替换。2.extend const int r=100; //将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初始化,仅仅作为声明,编译器认为在程序其他地方进行了定义。转载 2007-04-27 18:39:00 · 397 阅读 · 0 评论 -
指针与函数
在程序设计过程中, 我们通常都会定义一些函数, 在程序过程中(或者在运行时), 根据假定的条件(运行时情况), 由程序(程序)选择应该执行那个函数。由此,程序中经常会有很多的 if...else条件判断或者switch分支语句。用条件判断或者分支语句来处理这些情况,本是无可厚非,但这样做起来会使程序变得可读性不高,并且不易维护。 但是,如果我们用指针与数组来实现,就原创 2007-06-04 19:05:00 · 375 阅读 · 0 评论