====== C Lang ====== * C99 标准:http://www.open-std.org/JTC1/SC22/WG14/www/standards * https://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf * C11-C18 标准:https://www.iso.org/standard/74528.html ===== Lib ===== * http://libcello.org/ ===== Feature ===== * [[http://kevinlq.com/2017/08/16/C_C++_flexible_array/|柔性数组]]: Flexible Array Member(FAM) is a feature introduced in the C99 standard of the C programming language. * https://d3s.mff.cuni.cz/legacy/~holub/c_features.html * [[https://vorpus.org/blog/why-does-calloc-exist/|Why does calloc exist]]: calloc 比 malloc+memset 的两个优势: * calloc 的两个参数乘积(即需申请的内存大小)如果超出最大数会报错,而 malloc 少了此检测; * 申请大内存时(glibc 下是> 128k), calloc 的性能可能是 malloc+memset 的百倍。 * C标准一直到C17都没有内置 bool 类型。if等条件判断时,0为 false, 非0 为 true; ''=='',''>''等条件语句的值为 int 类型,条件真返回1,假返回0。 * C99 规范 6.7.8/10 条确定 static 变量初始化为0。