C语言
C语言的特色之一是：语言不负责内存边界检查，这是因为在运行时进行内存边界检查会造成性能问题，与UNIX哲学不符。此特性容易导致缓冲区溢出问题。然而，部分编译器（如英特尔编译器）会出于安全性的考量，提供方法以进行运行时内存边界检查。
静态变量
在C语言及由其衍生出的C++与Objective-C等程序语言中，“static”是用于控制变量的生命周期和连接方式（即其作用域，亦即可见性）的保留字。确切来说，正如C族语言中的extern，auto与register这些保留字一样，static也是一种存储类（此处的“类”与面向对象语言的“类”的定义不同）标识。每个变量与函数都有以上的一种存储类标识，如果在中没有明确标识其存储类，编译时就会根据上下文来选择其默认存储类，如在源文件里的所有文件级变量对应的默认存储类是extern，而在函数体内的变量对应的则是auto，各存储类的属性如下表所列。