C语言
C语言的特色之一是：语言不负责内存边界检查，这是因为在运行时进行内存边界检查会造成性能问题，与UNIX哲学不符。此特性容易导致缓冲区溢出问题。然而，部分编译器（如英特尔编译器）会出于安全性的考量，提供方法以进行运行时内存边界检查。
C与C++的兼容性
C语言和C++的关系十分密切，但是也有许多显著的差异。C++标准起源于早期C标准, 并被设计为与当时的C语言在源代码编写和链接方面很大程度上兼容. 因此，两种语言的开发工具（例如IDE和编译器）通常被集成到单个产品中，程序员可以自己选择编写的是C还是C ++，开发工具通常会根据程序员的选择使用不同的编译器和链接器或不同的库。