C语言核心技术第一章

 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;
};

 

 

接大佬的笔记

刨根究底字符编码

 

posted @   YangDanMua  阅读(143)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示