代码改变世界

java Inner class

2009-05-18 22:17 by cesc711, 317 阅读, 0 推荐, 收藏, 编辑
摘要:1.static Inner class(静态成员类)[代码]1.1 静态成员类特性 静态成员类可访问外部类的任一静态字段或静态方法 像静态方法或静态字段一样,静态成员类有public/private/default权限修饰符 1.2静态成员类约束 静态成员类不能与外部类重名 像外部类的静态方法一样,不能直接访问外部类的实例字段和实例方法 静态成员类只能定义于外部类的顶层代码或外部类其它静态成... 阅读全文

原码,反码和补码

2009-05-12 16:18 by cesc711, 174 阅读, 0 推荐, 收藏, 编辑
摘要:前几天写了一个表达式求值的小程序。首先我用栈存储了表达式的逆波兰式,在创造栈的时候,我是以char(单字节)为单位开辟内存的。因此能压栈的最大数为127,否则结果将会出错。顺着这个问题,我又看了看有关原码,反码和补码的一些知识。 数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负)。这就是机器数的原码了。 假设机器能处理的位数为8,即字长为1byte,原码能表示数值的范围为 :(-1... 阅读全文

Java中static用法

2009-05-11 20:04 by cesc711, 525 阅读, 2 推荐, 收藏, 编辑
摘要:[代码]在1处,我们定义了一个静态的方法名为main,这就意味着告诉Java编译器,我这个方法不需要创建一个此类的对象即可使用。首先,System是位于java.lang包中的一个核心类,out是System的一个静态变量,所以可以直接使用,而out所属的类有一个println方法。静态方法: 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法。如下所示:[代码] ... 阅读全文

Java垃圾回收机制

2009-05-11 18:08 by cesc711, 907 阅读, 0 推荐, 收藏, 编辑
摘要:一.谁在做GarbageCollection? 一种流行的说法:在C++里,是系统在做垃圾回收;而在Java里,是Java自身在做。 在C++里,释放内存是手动处理的,要用delete运算符来释放分配的内存。这是流行的说法。确切地说,是应用认为不需要某实体时,就需用delete告诉系统,可以回收这块空间了。这个要求,对编码者来说,是件很麻烦、很难做到的事。随便上哪个BBS,在C/C++版块里总是有... 阅读全文

exit() function

2009-05-07 16:59 by cesc711, 256 阅读, 0 推荐, 收藏, 编辑
摘要:exit参数的作用: exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile ()创建的临时文件。 用exit()函数可以退出程序并将控制权返回给操作系统.其中参数va... 阅读全文

getchar() function

2009-05-06 14:42 by cesc711, 166 阅读, 0 推荐, 收藏, 编辑
摘要:昨天写了一个最简单的利用stack的行编辑器。用的是getchar()方法来读取键盘的输入。函数原型:intgetchar()getchar()方法返回的是所读取到的字符的ASCII码值。当getchar()被调用的时候,就等待用户按键。用户输入的字符被放在键盘缓冲区中,直到按回车键为止(回车也放在缓冲区中)。直到用户按下回车键的时候,getchar()方法开始从stdin流中每次读取一个字符。如... 阅读全文

malloc()和calloc()的区别

2009-05-04 22:45 by cesc711, 163 阅读, 0 推荐, 收藏, 编辑
摘要:[代码]分配了NumByte个字节,返回指向这块内存的指针,并且所分配的内存没有被初始化。[代码]分配了NumOfElem个SizeOfElem大小的内存空间,返回指向这块内存的指针,并且所分配的内存所有位都被初始化为0.。 阅读全文

c++ const修饰符用法

2009-05-02 16:56 by cesc711, 485 阅读, 0 推荐, 收藏, 编辑
摘要:1.const修饰变量:说明该变量的值是不可更改的。并且const常量有数据类型检查,宏只进行简单的字符替换,没有类型安全检查。2.const修饰类数据成员:const类型的数据成员只在该对象生存期内是不可变的,而对于整个类来说是可变的。所以不能在类声明中初始化const数据成员,因为类的对象未被创建时,编译器不知道const数据成员的值是什么。const数据成员的初始化只能在构造函数的初始化列表... 阅读全文

c++中五种内存分配

2009-05-02 15:20 by cesc711, 312 阅读, 0 推荐, 收藏, 编辑
摘要:在c++中,内存分为5个区域。分别是堆,栈,自由存储区,全局/静态存储区和常量存储区 栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量存储区。里面通常是局部变量,函数参数等。 堆:由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。 自由存储区:由malloc等分配的内存块,... 阅读全文

realloc function

2009-04-30 20:28 by cesc711, 200 阅读, 1 推荐, 收藏, 编辑
摘要:函数原型:void*realloc(void*mem_block,intnew_size);函数功能:改变men_block指针所指内存区域的大小为new_size。函数返回:若重新分配成功,返回指向新内存区域的指针。否则返回NULL。函数说明:realloc()方法试图从当前堆上现存的数据后面获得附加字节,如果后面内存的大小还有足够的内存可以分配,那么得到的是一块连续的内存。如果后面内存的大小不... 阅读全文