现在的位置: 首页 > 综合 > 正文

C 温故

2018年02月01日 ⁄ 综合 ⁄ 共 928字 ⁄ 字号 评论关闭

 

    最近拿了本C语言温故了下,颇有一些不熟悉的地方,于是笔记下来:

1。常量定义一般大写:#define PRICE 30  ,可用#undef终止宏定义作用域。

2。变量名是一个符号地址,通过它找到变量对应的内存地址,进而通过内存地址读取变量的数据。

3。变量编译时就分配了内存空间。

4。注意溢出问题:int i=32767;i+1 = -32768。

5。字符以Ascii码存储;字符串"a"表示'a' 和'\0'两个字符。

6。sizeof是运算符,可用于任何变量名、类型名或常量值,当用于变量名或常量时,它不需要用圆括号。它在编译时起作用,而不是运行时。如sizeof(int)=4;

7。强制转换:(int)a;不用int (a);

8。格式化的原样输出“%d %d”,"%d,%d"...

9。max = (a>b)?a:b;    switch 的case加break防穿透。

10。break;跳出内循环,continue 继续下一次循环。if(n%3==0) continue; while(){if() break;}用break跳出while死循环。

11。a[i]  和  *(a+i)一样;int a[8]={0};整个数组元素都初始化为0。

12。strcat,strcpy,strcmp(字母后面大,小写大),strlen("123")=3,strlwr,strupr。

13。全局变量作用域定义处到文件结束,首字母一般大写。局部变量屏蔽全局变量。

14。static 变量保存原值,仅本本件使用(作用域),extern 扩展外部变量的作用域。

15。库文件引用#include  <math.h>在库文件目录查找,#include  “math.h”先在当前目录查找,再在库目录查找。

16。条件编译 #ifdef DEBUG .....#else ..... #endif, #define DEBUG。最简单的:#if 1(0) .....#else ....#endif,很灵活。

17。char *str;str = "123456";有时在C++中定义char数组。

18。字节的取反(与0xFF异或):BYTE b = 0xFF; b^0xFF = 0x00;

19。声明自定义数据类型:typedef int size;

【上篇】
【下篇】

抱歉!评论已关闭.