Chinaunix首页 | 论坛 | 博客
  • 博客访问: 189425
  • 博文数量: 54
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-02 18:41
文章分类

全部博文(54)

文章存档

2011年(1)

2009年(30)

2008年(23)

我的朋友

分类: C/C++

2008-11-02 18:53:10


 the difference between BOOL and bool
 In type and length:
  In windows: typedef  int BOOL;
  so BOOL takes 4 bytes.
  bool is boolean,takes only 1 byte.
 In value:
  bool: false or true (0 or 1)
  BOOL: FALSE or TRUE (0 or no 0)
  the example:
  bool x=3; //alert
  bool x=1; //right
  BOOL x=3; //right
  BOOL x=3.3; //alert
 
 C中的整数表示:
  八进制: 0开头,如 int a = 0123; //表示八进制数123
  十六进制: 0x开头,如int a = 0x123;
 
 给一个char类型赋值不能用双引号:
  char c;
  c="a"; //error,引号用于给字符串赋值,末尾字段加上一个'\0'
  例:
  char str[]="I am happy!" //一个有十二个字符,包括末尾'\0'
  例:
  char str[];  //error,必须指定数组大小
  scanf("%s",str);
  例:
  char str[]="I am happy!"
  scanf("%s",str); //input:123[空格]fuck!. str内容为'1''2''3''\0'
     //输入串被[空格]截断.且生成一个新地址给str。所以
     //原来内容丢失
 
 数组做形参应注意:
  char c[5]="fuck";
  void output(char c[]){} //一位数组名做形参,不需要指定大小。C编译只对类型检查
     //对形参数组大小不做检查
  但是,如:
  int i[3][3]={...};
  void input(int i[][3]){}//多维数组名做形参,不可以省略第二维及高维大小说明。
 
 变量作用域:
  在同一文件中,外部变量(全局变量)与局部变量同名,则在局部变量作用域范围内,外部
  变量被"屏蔽",不起作用。
 各种类型变量运行速度:
  寄存器变量 > 局部变量 > 静态变量 > 私有变量 > 全局变量
 
  注意:
  static 声明的全局变量(外部变量)/静态函数,只限本文件使用。即使其他文件extern了也无法使用。
 
 宏定义注意:
  末尾不加 ';'
  如:
  #define PI 3.14; //之后,"PI" => "3.14;"
  宏定义只做简单字符替换,不分配内存空间。
 
 将两个值互换,不用临时变量:
  a=3 b=4
  a = a^b;
  b = b^a;
  a = a^b; 
阅读(544) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:C/C++笔试题(1)

给主人留下些什么吧!~~

MneeHNXM2008-11-04 12:01:48

呵呵,不错,看来让我有所收获,谢谢!