C和指针day1

89 阅读2分钟

C 和指针****

第一章 快速上手

空白和注释

/* 内容*/ 此注释可以多行多行注释不一定会在编译的时候删除(代码的注释可能不愿如意)所以推荐 #if 0 #endif 宏注释

预处理指令

预处理有点像内容替换stdlib.h中 EXIT_SUCCESS 和 EXIT_FAILURE 符号

其它

while( (ch = getchar()) != EOF && ch != '\n')//这样写简单明了getchar() 读取到结尾会返回 EOF 不能用NULL与之替换

第二章 基本概念

环境

翻译环境执行环境有时候翻译环境不一定能执行生成的文件,比如交叉编译,将翻译放在其它操作系统上。

文件名约定

源文件.c目标文件:UNIX .o MS-DOS .obj

编译和链接

GCC指令:-E 预处理指的的源文件-S 编译指的的源文件-C 编译汇编指定的源文件-O 编译成可执行文件-I  include 包含文件的目录-g 生成调试信息-D 指定一个宏-W 不生成警告信息

词法规则

字符

要注意三字符:'??=' 与 ‘#’是相等的,所以有了转义字符\a鸣声\b回退\f进纸字符\n换行\r回车\t水平制表\v垂直制表\ddd8进制\xddd16进制

第三章 数据

基本数据类型

limits.h 指明了变量的极限值 (整数类型)float.h 指明了浮点变量的极限值指针

typedef

typedef char*  p_char;p_char a;//与 char * a; 相等与define 的区别就是可以区别类型

常量

int const * p;//指向常量的指针,不能修改指向地址的值,可以修改指向的地址int * const p;//指向整型的常量指针,不能修改指向的地址,可以修改指向地址的值

作用域

externstatic

存储类型

auto:默认的static:静态变量register:寄存器