• Lerosua on Twitter

    t
  • 订阅

    抓虾
    google reader
    bloglines
    鲜果
  • 分类目录

  • 功能

  • Archive for 四月, 2006

    « Previous Entries

    骚扰

    星期日, 四月 30th, 2006

    博客受垃圾留言骚扰 这几天发现自己的博客被垃圾留言盯上了!没多少分钟就有一留言,留言内容大致是: Nice! Keep up the good work! I love it! Nice post! Many thanks for your work. Very useful and interesting site, thanks! Very good article. 大致出自blogs.eurosport.fr网站,现在有升级,http://s3.invisionfree.com/等等 也有了! 暂时还不知道究竟是怎样回事,只有将以上的留言变为关键词过滤掉! 留言的网址最后是指向一个卖药的网站的,donews的其它用户也受到了类似的骚扰! 经常受骚扰的确是烦人的事,现在真的是垃圾满天飞!

    一生负气成今日,四海无人对夕阳

    星期六, 四月 29th, 2006

    忆故居    —陈寅恪 渺渺钟声出远方,依依林影万鸦藏。 一生负气成今日,四海无人对夕阳。 破碎山河迎胜利,残馀岁月送凄凉。 松门松菊何年梦,且认他乡作故乡。 这是陈寅恪先生在1945作的一首诗,很多人都很喜欢他那句“一生负气成今日,四海无人对夕阳”。我也很喜欢!

    C陷阱与缺陷(2)

    星期四, 四月 27th, 2006

    第二章:语法陷阱 2.1理解函数声明 int f,g; 声明f,g的类型为整型. int ((f)); 当对((f))求值时,((f))的类型为整型,由此可推知f也是整型。 int *pf; 这个声明中,*pf是一个整型数,所以pf是一个指向整型数的指针。 int *g(),(*h)(); 对于*g(),因为()的优先级高于*,*g()就是*(g());令pf=g(),则*g()就是*pf,整个表达式变成 int *pf; 因此可知pf 是一个指向整型数的指针。由此可知对g()的求值结果是一个指向整型数的指针,也就是说g()的返回值是指向整型数的指针。最后得出,g是一个函数,该函数的返回值类型为指向整型数的指针。 对于(*h)(),令pf=(*h),则 pf() , 很明显看出,pf是一个返回值为int的函数。即*h是一个返回值为int的函数,因此h就是这个函数的指针,即h为返回值为int的函数的指针。 int (*h)(); 表示h是一个指向返回值为整型的函数的指针,因此: (int (*)()) 表示一个“指向返回值为整型的函数的指针”的类型转换符。 假定fp是一个函数,调用fp所指向的函数为: (*fp)();ANSI标准允许程序员将上式简写成fp()。但要记住这只是一种简写形式。 *fp()实际上与*(fp())的含义完全一致,ANSI C把它作为 *((*fp)())的简写形式。 (void (*)()) 0; 将常数0转型为“指向void的函数的指针”类型。 对于 fp(),可变成:(*(void(*)()) 0)(); //有点玄而上学了! 2.2运算符的优先级问题 这个问题在第一章的时候提了一下!现在举个自己的例子! r=hi>>4+low ; 我曾经天真地认为hi会先右移四位然后才和low相加。但错误狠狠地教训了我!这个表达式的顺序是hi右移了4+low个位。”+“的运算符的优先级大于“>>”的优先级! 具体的就不说了!记住下面两点: 1.任何一个逻辑运算符的优先级低于任何一个关系运行符。 2.移位运算符的优先级比算术运行符要低,但是比关系运算符要高。 另加自己的一条:如果不确定运算符的优先级,那就给你想先执行的语句加上括号!方便阅读并且保险! 2.3注意作为语句结束标志的分号 (1) if(x[i]>big); (2) big=x[i]; [...]

    « Previous Entries