摘要: C語言有兩種字串宣告方式char s[]和char *s,兩者有什麼差異呢?Introductionchars[]="HelloWorld";char*s="HelloWorld";皆宣告了s字串,在C-style string的函數皆可使用,但兩者背後意義卻不相同。chars[]="HelloWorld";的s是個char array,含12個byte(包含結尾\0),"Hello World"... 阅读全文
posted @ 2010-08-26 16:09 xxfighting 阅读(4052) 评论(0) 推荐(1) 编辑
摘要: ++i和i++哪个速度较快呢?在C++ Primer 4th整本书中,都是用++i,我今天特别跑去问C++老师为什么,答案是因为++i较快,所以C++ Primer才都使用++i。++i相当于1i=i+1;2returni;而i++相当于1intj=i;2i=i+1;3returnj;由于i++还必须copy值给j,所以速度较慢。 阅读全文
posted @ 2010-08-26 15:55 xxfighting 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 在C/C++中,只要宣告一个变量,如int i,尽管没去用它,内存已经占了4 byte的内存了,这个动作称为Definition,以下简单的源代码即可证明,结果可显示该变量的内存地址。1#include<iostream>23usingnamespacestd;45intmain(){6inti;78cout<<&i<<endl;910return0;1... 阅读全文
posted @ 2010-08-26 15:53 xxfighting 阅读(208) 评论(0) 推荐(0) 编辑
摘要: a = 1、b = 2、c = 3...以此类推,若输入字串abc时,表示1 + 2 + 3 = 6,若输入字串abcd时,表示1 + 2 + 3 + 4 = 10。执行結果abc66、7行while(*s)sum+=(*s++-96);由于C语言字串以'\0'为結尾的特性,所以我们大胆地使用while(*s != '\0'),又因C语言『非0为true』的特性,所以可省略成while(*s),若... 阅读全文
posted @ 2010-08-26 15:21 xxfighting 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 首先,对memest()函数进行一下介绍。memest原型 (please type "man memset" in your shell) void *memset(void *s, int c, size_t n); memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。 常见的三种错误 第一: 搞反了c 和 n的位置. 一定要记住 如果要把一个... 阅读全文
posted @ 2010-08-26 11:27 xxfighting 阅读(2976) 评论(0) 推荐(0) 编辑
摘要: 代码 阅读全文
posted @ 2010-08-26 11:21 xxfighting 阅读(1621) 评论(0) 推荐(0) 编辑