
c/c++
worldlight
这个作者很懒,什么都没留下…
展开
-
strlen的递归实现
int strlen(char *s){ if ( *s == 0) return 0; else return strlen(s+1)+1}strlen不错的实现,完全用递归实现计算字符串长度。每次递归增加一个长度,并且向后移动一位,直到遇到结尾符'\0'.原创 2011-11-22 15:24:09 · 776 阅读 · 0 评论 -
无符号翻转引发的思考
前段时间大脑短路,碰到一个有关无符号翻转的问题。先将我的理解写出来,如有不对的,欢迎拍板砖啊。 大家都知道类型有有符号和无符号之分,顾名思义有符号有负数表示,而无符号只有正数。如果判断一个无符号变量小于0,就会出现错误,特别是在循环中,会陷入死循环。例如: unsigned int i; for(i=9;i>=0;i--) printf("%u",i);执行这个原创 2011-12-04 14:58:43 · 3424 阅读 · 0 评论 -
extern变量
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案转载 2012-03-08 13:57:52 · 755 阅读 · 0 评论 -
staitc的作用
1.在局部函数中static修饰的变量作用域虽然局限于此函数,但是它存在于静态存储区,在整个程序过程中都存在。2.如果定义static变量未初始化,编译器将对其自动初始化为0。3.修饰在函数和全局变量之前的static将使它们仅在所在文件中起作用。4.static修饰的变量在退出函数后,其值不会被改变或清空。原创 2012-10-24 16:13:10 · 845 阅读 · 0 评论