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) |