C语言
C语言的特色之一是：语言不负责内存边界检查，这是因为在运行时进行内存边界检查会造成性能问题，与UNIX哲学不符。此特性容易导致缓冲区溢出问题。然而，部分编译器（如英特尔编译器）会出于安全性的考量，提供方法以进行运行时内存边界检查。
编程语言
除了何时以及如何确定表达式和型态的联系，另外一个重要的问题就是语言到底定义了哪些型态，以及允许哪些型态作为表达式的值。诸如C编程语言之类的低端语言允许程序命名内存位置、内存区域以及编译时的常量；ANSI C甚至允许表达式返回结构值（）。功能性的语言一般允许变量直接使用运行时计算出的值，而不是指出该值可能储存的内存地址。