摘要: 一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释放在函数体中定义的变量通常是在栈上,用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆上。在所有函数体外定义的是全局量,加了static修饰符后不管在哪里都存放在全局区(静态区),在所有函数体外定义的static变 阅读全文
posted @ 2012-04-20 17:47 cateatmycode 阅读(283) 评论(0) 推荐(0)
摘要: 1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出 256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从 0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001) 阅读全文
posted @ 2012-04-20 17:11 cateatmycode 阅读(228) 评论(0) 推荐(0)
摘要: SCRIPT LANGUAGE="JavaScript"> <!-- //出处:网上搜集 // Trim() , Ltrim() , RTrim() String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.LTrim = function() { return this.replace(/(^\s*)/g, ""); } String.prototype.RTrim = functi 阅读全文
posted @ 2012-04-20 16:23 cateatmycode 阅读(214) 评论(0) 推荐(0)
摘要: Ubuntu的许多操作是在终端中进行的,通过sudo命令管理的文件是由root持有权限的,一般用户是无法改变的。在图形界面上,我们可以通过属性中的权限选项夹进行操作。但是一旦文件的属性显示当前用户没有读写权力时,无法在图形界面上修改权限。常用方法如下:sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)sudo chmod 666  阅读全文
posted @ 2012-04-20 16:06 cateatmycode 阅读(1110) 评论(0) 推荐(1)
摘要: Ubuntu下安装卸载桌面系统安装GNOME方法: sudo apt-get install gnome(安装后,进入gnome桌面:startx) 或者 sudo apt-get install gnome-desktop删除Gnome的方法: apt-get –purge remove liborbit2安装kde方法: sudo apt-get install kde(实验可以) 安装KDE: 方法一: sudo apt-get install kubuntu-desktop sudo apt-get install language-pack-kde-zh language-pack- 阅读全文
posted @ 2012-04-20 00:53 cateatmycode 阅读(6545) 评论(0) 推荐(0)
摘要: 对List的遍历有三种方式 List<A> list = new ArrayList<A>(); list.add(new A()); list.add(new A()); ... 第一种: for(Iterator<A> it = list.iterator(); it.hasNext(); ) { .... } 这种方式在循环执行过程中会进行数据锁定, 性能稍差 , 只能从头到尾, 同时,如果你想在寻欢过程中去掉某个元素,只能调用it.remove方法, 不能使用list.remove方法, 否则一定出并发访问的错误.但是兼容性最好... 阅读全文
posted @ 2012-04-19 22:11 cateatmycode 阅读(476) 评论(0) 推荐(0)
摘要: 一般用LayoutInflater做一件事:inflateinflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化为View对象。其中有一个比较常用,View inflate(int resource, ViewGroup root),另三个,其实目的和这个差不多。int resource,也就是resource/layout文件在R文件中对应的ID,这个必须指定。而ViewGroup root则可以是null,null时就只创建一个resource对应的View,不是null时,会将创建的view自动加为root的child。setContentView和inf 阅读全文
posted @ 2012-04-19 21:45 cateatmycode 阅读(276) 评论(0) 推荐(0)
摘要: 先看效果图下面来看代码:首先是HTML代码,这里我选择的是li,当然你可以可以用其他的比如说table或divView Code 1 <div class="search"> 2 <span><input id="search_text" class="search_text" onblur="if (value ==''){value='搜微博、找人'}" onfocus="if (value =='搜微博、找人'){valu 阅读全文
posted @ 2012-04-16 14:52 cateatmycode 阅读(532) 评论(0) 推荐(0)
摘要: Context字面意思是上下文,位于framework package的android.content.Context中,其实该类为LONG型。很多方法需要通过 Context才能识别调用者的实例:比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,到了一个button的onClick(View view)等方法时,我们用this时就会报错是因为: 你是在一个匿名 阅读全文
posted @ 2012-04-16 00:24 cateatmycode 阅读(252) 评论(0) 推荐(0)
摘要: 我们知道,LayoutInflater是用来实例化整个布局文件,而MenuInflater是用来实例化Menu目录下的Menu布局文件的。传统意义上的菜单定义需要Override Activity的onCreateOptionsMenu,然后在里面调用Menu.add把Menu的一个个item加进来,比较复杂。而通过使用MenuInflater可以把Menu的构造直接放在Menu布局文件中,真正实现模型(Model)与视图(View)的分离,程序也看着清爽多了。下面一个实例是定义四个菜单,并且实现了一个菜单事件,当我们点击设置(Setting) 菜单,进入手机设置状态。效果图如下:menu/o 阅读全文
posted @ 2012-04-16 00:10 cateatmycode 阅读(316) 评论(0) 推荐(0)