C语言核心技术第一章

时间:2022-05-08 20:17:58

 Notes

1、调用前函数声明,以给编译器提供必要信息

2、函数定义不可嵌套(即不可定义局部函数)

3、预处理指令独占一行,#前除空格或制表符之外不可有其他字符

4、字符串字面值和字符字面值内/* */ // 不解析为注释

  预处理器一旦遇到注释开始符 /* 就寻找结束符*/,因此不可嵌套块注释

  预处理器将每个注释替换为一个空格

5、翻译环境、运行环境 ---- 源代码字符集、运行字符集

  均包括基本字符集(7位表示的ASCII码)和扩展字符集,C只指定了基本字符集

  C规定:基本字符集每个字符一字节表示、空字符一字节且所有位为0。0-10十进制数字的编码以1递增

  提供char和wchar_t (<>stddef.h)

  wctomb - 宽字符转多字节字符

  通用字符:以\uXXXX或\UXXXXXXXX,表示,即为十六进制表示的Unicode码点

    可用于标识符、字符常量、字符串字面值,但不可用于表示基本字符集

6、标识符

  长度无限制,但编译器可能有限制

  作用域常从声明之后开始,但类型名称,或结构、联合、枚举类型小标签,以及枚举常量名称例外

  例下的Ex并未完全声明即可在结构内部使用

struct Ex
{
    int x;
    int y;
    struct  Ex *next;
};

 

 

接大佬的笔记

刨根究底字符编码