C标准解读直播课程报名简章
通透C语言所有细节的唯一途径是阅读C标准文档,它是你学习C语言最好的"教材",也是最差的"教材",因为它非常枯燥,十分晦涩,没有很长一段时间的适应和研究是很难读懂的。但是,一旦你读懂它,你就有拨云雾而见天的感觉,就能掌握这门语言的方方面面,细枝末节。
C语言最新标准ISO/IEC 9899:2024已经发布了一年多,标准文档的语言部分有200多页,非常精练。我们的目标是翻译、解说并上机实践验证这些语法规定和语法细节,可能需要几十课时。相比于自学,直播的特点是生动活泼、互动性强,随堂解决问题,自由提问,氛围感十足,学习效果非同一般。
课程内容:
依从于标准文档,内容包括术语、环境、语言(概念,类型,转换,字面元素、表达式、声明、语句和块,预处理),结合实例上机解读。总之C标准的内容就是培训内容,请单击下载C11标准草案和C24标准草案。解读的内容不包括多线程和数据竞争,这部分内容需要系统化解读,已经被我们的课程"硬件内存模型和C/C++内存模型"课程所完全覆盖。另外,标准库部分也将粗略过一下,但有些函数不会面面俱到。总之,语法部分是重点。
适合人群:
课程不是零基础的,适合那些学过C语言,但并不十分熟悉和精通的人报名。
直播时间:
计划9月5日前后开始
课程时间:
计划50--100课时,具体取决于进度
有人问这个C语言标准的课程和市面上大多数C语言课程的区别在哪,现补充说明如下:
先不说市面上的课程质量如何,就说深度和广度都是不同的。C标准文档包含了C语言语法方面的所有细节,权威且详尽,而市面上的图书和课程则侧重于常用的内容,不全面,不权威,正确性不足(甚至是错误的和误导性的)。C标准文档就象法律,而市面上的课程就象自媒体律师。我记得有两本书,叫C专家编程和C缺陷与陷阱,如果你通读过C标准文档,这两本书的内容给你感觉就是班门弄斧,小巫见大巫,不值一提。象《c prime plus》之类的,虽然厚,但与标准文档的内容比起来,知识点依然是欠缺的。可以说,没看过C标准文档,不能称为C专家。看到错误的代码,本能的反应就是它违背了C标准里的哪一条规定。是的,熟悉了C标准,你就能成为C语言律师。
有些知识点并没有那么"特别"。比如数组下标表达式 e1 [e2]。关于它的两个操作数e1和e2,标准的规定是这样的:
One of the expressions shall have type "pointer to complete object type", the other expression shall have integer type, and the result has type "type".
你的第一反应就是它并没有明确指示哪个操作数是指针,哪个操作数是整数,所以 a [1] 和 1 [a]自然都是允许的。并不象有些教材里所说的是什么隐藏的技巧。对了,对于 e1 [e2] ,和有些同学想的不同,它要求的是指针和整数,而不是数组和整数。
再比如到底是 sizeof ... 还是 sizeof (...)。这种东西遵循语法规定就好了:
sizeof unary-expression
sizeof ( type-name )
C标准的内容非常晦涩精练,一句顶多句,而且是英语,语法部分有200页,大概要好几十甚至百十节课,每节课最好能控制在1小时左右,长了大家顶不住。这都是估计,内容太多,讲完为止。