我最开始学计算机的时候学的是C++,接着java
现在我上大二了需要学C,当我看到这个课件的时候我是崩溃的
这是什么鬼?
为什么同样的函数带定长或者上下限参数的版本不是一个名??
给变量或者函数命名的时候每个单词为什么不用_或者大写字母分开???
我最开始学计算机的时候学的是C++,接着java
现在我上大二了需要学C,当我看到这个课件的时候我是崩溃的
你需要 Rust
毕竟不支持重载
毕竟不是完整单词?
c 没有重载
这还有什么可吐槽的吗?
为什么同样的函数带定长或者上下限参数的版本不是一个名??
楼上说了,因为 C 没有重载,当然只能这样
给变量或者函数命名的时候每个单词为什么不用_或者大写字母分开???
因为 C 诞生的年代是每个 bit 都要精打细算来的,并且上古设备的输入输出并不是一件很轻松的事情
你去看 Linux 的代码,以及更早年代的各种程序的代码,基本都是这个风格,典型例子还有各种系统调用的名字
这太zz了,忍不住要吐槽233333
好像早期的 C 语言变量和函数的命名只支持 8 个字符,导致了各种奇怪的缩写。
因为早些年内存有限、磁盘有限,编译器的能力也有限,所以标识符不能太长。不仅如此,还有头文件啊、声明和定义出现的顺序啊什么的,都是当时编译器和硬件的限制造成的,一直沿用到了现在。
想摆脱就去用 Rust 呀。说实话,看到你的教材上写了 strcpy、strcat 这些函数而没有警告,这本书你可以扔掉了。
我觉得你可能是没有了解到 c 语言自身的任务和重要性
当孙子的哪有嘲笑爷爷老套跟不上潮流的?
编程语言一直都在进步
各种语言上的特性都是进步的结果,你想要的特性其他语言已经做得很好了
c ++ 包含几乎所有的特性,就怕你学不起
警告什么?
这只是老师上课用的幻灯片而已
strcpy、strcat,以及 gets 什么的,都是不推荐使用的危险函数,新代码不应当使用。请使用 strncpy / strlcpy、strncat / strlcat、fgets 代替。
好吧,受教了
我们老师根本没说这些函数不安全
嗯,我准备学一下