[读] C和指针 (Ch15 ~ Ch18)

2020-07-08
阅读 1 分钟
1.2k
Chapter 15 (本章介绍I/O,涉及内容多为各种函数的细节,因此不一一整理) 各不相同但容易混淆的三个概念: 文件:物理存储介质上所保存的内容 流:函数库为I/O所提供的接口 缓冲:程序对流进行读写时所使用的一块空间(可以手动指定不要缓冲) 文件和流之间的转换由操作系统完成,而程序只是通过FILE数据结构来管理储...

[读] C和指针 (Ch11 ~ Ch14)

2020-07-08
阅读 3 分钟
1.2k
Chapter 11 malloc和free维护一个内存池 malloc总是分配一整块内存。根据编译器的实现,实际分配的内存也有可能比请求的稍大一些 可用内存池无法满足请求时,malloc先向OS申请新的内存,还是不够时返回NULL。因此malloc返回的指针必须先检查 free的参数必须为通过malloc等函数申请到的内存指针或NULL,它也总是释放整个...

[读] C和指针 (Ch8 ~ Ch10)

2020-07-07
阅读 3 分钟
1.1k
⚠️数组名和指针常量相似,但并不是指针!(也因为是指针常量,所以数组名也是un-assignable的) 编译器用数组名来记住数组的属性,只有当数组名在表达式中被使用时,编译器才为它产生一个指针常量

[读] C和指针 (Ch4 ~ Ch7)

2020-07-05
阅读 3 分钟
1.4k
使用goto一般不是好事,唯一的例外可能是需要从多重循环中直接退出时比较方便,但是这也可以通过把整个循环包装成一个函数,然后在需要退出的时候直接return来解决

[读] C和指针 (Ch1 ~ Ch3)

2020-07-04
阅读 3 分钟
1.9k
赋值运算符的返回值大概率为左值(C)或左值的引用(C++),但归根到底是一个undefined行为,取决于编译器的实现。但以下用法通常可以接受: {代码...} 且此处ch通常被声明为int,因为EOF实际上是一个int