摘要:
众所周知,C语言的scanf()位于<stdio.h>,用于输入数据,但一直以来我都对它的使用方式似懂非懂,今天我们来详细聊聊它。 scanf意为“scan format”, 即格式化输入,原型如下: int scanf(const char *format, ...); 一、基础使用方式 #inc 阅读全文
摘要:
Epigrams on Programming 转载自这里 Alan J. Perlis Yale University This text has been published in SIGPLAN Notices Vol. 17, No. 9, September 1982, pages 7 - 阅读全文
摘要:
为什么“C语言具有可移植性”? "Any problem in computer science can be solved with another layer of indirection" C语言的设计特性使然,例如其I/O不依赖于特定平台,而是依赖于stdio.h,而库在不同平台上可以有不同 阅读全文
摘要:
对于int * const cpi,const修饰指针cpi本身,所以指针本身是常量不可变,而其所指之处的值可变。称为常量指针。 对于const int * pci 或 int const * pci,const修饰的是(*pci),所以pci是指向常量的指针。 1 #include <stdio. 阅读全文
摘要:
cygwin默认安装的manual太少了,一些manual sections压根没有。 但是直接从cygwin的安装程序中安装最新的man-pages似乎不起作用?于是我决定从网上下载。 下载地址:https://www.kernel.org/pub/linux/docs/man-pages/ 解压 阅读全文
摘要:
一句话速通银行家算法: try 分配资源, if safe() then continue; else 归还资源 并且 sleep(当前任务). 好,本文结束。 hh其实并没有,接下来我将解释这句话以及银行家算法究竟是个啥。 ps: 银行家算法是try assign(), 而还有个锁的api是try 阅读全文
摘要:
16进制快速求补法:最低位16-x, 其余位15-x举例:( - 0x1234)补 = 0xEDCC适用于手算16进制加减法,注意只有负数才需要求补码 证明(m 是 位数):b 补 = 2^m - b = (2^m - 1 - b) + 1 = (1000...0 - 1 - b) + 1 = (1 阅读全文
摘要:
1. 不能依赖OJ的反馈做题: a) 应该仔细读题,完全理解题意之后自行设计样例与反例,不应该靠OJ给出的不通过样例做题; b) 读题要边读边记录灵感或是注意事项,否则设计算法时可能会忘记; c) 应该在纸上用样例模拟几次,并写出伪代码,然后再根据样例与反例进行修正。 2. 完成比完美更重要,完成后 阅读全文
摘要:
// generated by ChatGPT-3.5 & hk416hasu 中断是计算机系统中一种重要的机制,它允许系统在执行过程中临时中止当前任务,转而处理其他优先级更高或更紧急的任务,然后再返回原来的任务。以下是一些计算机需要中断的原因: 1. 响应外部事件:计算机系统需要能够响应各种外部事 阅读全文
摘要:
前面我们提到:OS希望在保持控制权的同时,为用户提供高性能的并发。 那么OS究竟是如何保持对计算机的控制权呢?这似乎是一个令人迷惑(但很重要!)的问题:OS也是进程,自然也需要计算资源。那既然我们希望一直保持OS的控制权,难道OS需要一直占用计算资源么?当然不是这样。 在微内核OS中,一般有两种模式 阅读全文