Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239302
  • 博文数量: 108
  • 博客积分: 3092
  • 博客等级: 中校
  • 技术积分: 1172
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 16:35
文章分类

全部博文(108)

文章存档

2011年(3)

2010年(43)

2009年(19)

2008年(43)

我的朋友

分类: C/C++

2009-03-11 22:39:46

1.理解函数声明
  通过认识这个让人“不寒而栗”的式子:
 
  (*(void(*)())0)()
 
 1)把0强制转换成了类型 void(*)(),这是一个指向函数的指针,所指向的这个函数返回值为void
  ps:a)float *g():这是一个函数,返回指针float*,因为()的优先级比*高。
      b)如果fp是一个函数指针,怎么调用该指针所指向的函数呢? (*fp)();
      c)为了使表述更加清晰:
        typedef void (*funptr)();
        则那个不寒而栗的式子可以表达为: (*(funptr)0)()
 2)由1)-b我们得知,这个式子的意思就是调用了上面所说的函数指针所指向的函数。
 
2.运算符优先级
1)任何一个逻辑运算符的优先级低于任何一个关系运算符
2)移位运算符的优先级低于算术运算符,但是高于关系运算符
算术>移位>关系>逻辑
 
3.不要忘了switch中的break,否则会把满足的case后面的所有case都执行。
     
阅读(726) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~