奇思妙想

2024年 3月 22日

如何理解C语言的未定义行为?

C语言自由灵活,未定义行为其实是标准对实现的放宽,即,一种行为如果可能产生错误,那标准不必要规定会有什么错,是内存泄漏、程序终止或者其他诡异的行为,只需要提示此行为未定义,具体交给实现。这种做法是标准...

进一步了解
2024年 3月 22日

为什么C语言是可移植性语言?

准确的说,任何一门不直接编写和硬件相关代码的语言,都具备可移植性。高级语言形如写了接口,只要有对应硬件平台的编译器,就可以生成相应代码。从这个角度,Java也是这样的,只不过换成了不同平台的JVM.

进一步了解
2024年 3月 22日

VC++和Turbo C也是编程语言吗?

不是的,它们仅仅是开发工具或套件的名称,它们是C/C++编程语言的开发工具。另外,因为平台相关,它们会扩展C/C++有特定的函数、类。不少不明真相的入门者,以为它们是新的编程语言,其实不是的。

进一步了解
2024年 3月 22日

C语言应用范围有哪些?

C语言使用地极其广泛,在主流操作系统内核和驱动,系统级应用程序和编译器、解释器中应用广泛。macOS/Windows/Linux内核都使用C语言,默认都可以用C语言写驱动,例外是macOS采用一套简化...

进一步了解
2024年 3月 22日

C语言是如何创造出来的?

Unix系统早期是由汇编编写,后来用C语言重写。C前身是B语言,它是一门和C语言很接近的语言,差异在于B语言是无类型的,即没有显式的short/int/long类型。B语言来自BCPL语言,BCPL是...

进一步了解
2024年 3月 22日

C语言和其他编程语言的区别?

C语言作为一门重要的系统级编程语言,它是伴随着Unix操作系统产生而产生。C语言简单自由控制力强,在OS内核、驱动广泛使用。另外,对于用户态,有libc, 也可以编写用户态应用程序。从系统编程角度,C...

进一步了解