
【计】 illegal subscript
【法】 illegality; illegitmacy; unlawfulness
suffix
【计】 index; subscript
【化】 subscript
【医】 subscription
在计算机科学领域,"非法下标"(Illegal Subscript)指程序试图访问数组、列表或其他序列数据结构时使用了超出有效范围的索引值。该术语的核心含义可拆解为:
索引边界失效
若数组长度为 n,有效索引范围为 [0, n-1](如C/Java)或 [1, n](如Lua)。访问索引 k 时,若 k < 0 或 k ≥ n 即构成非法下标。
数学表达:
$$ text{Valid Index} = begin{cases} 0 leq i leq n-1 & text{(0-based)} 1 leq i leq n & text{(1-based)} end{cases} $$
常见触发场景
for(i=0; i<=array.length; i++)
)语言 | 错误类型 | 典型错误信息示例 |
---|---|---|
Python | IndexError |
list index out of range |
Java | ArrayIndexOutOfBoundsException |
Index 5 out of bounds for length 3 |
C++ | 未定义行为(可能导致内存越界) | 无标准错误提示(可能崩溃) |
《C程序设计语言》(Kernighan & Ritchie)
第2章明确数组索引规则:"数组下标从0开始,若访问 array[n]
(n为数组长度)将越界"
来源:Kernighan, B. W., & Ritchie, D. M. (1988). The C Programming Language (2nd ed.). Prentice Hall.
Python官方文档
IndexError定义:"Raised when a sequence subscript is out of range."
来源:Python Software Foundation. (2023). Built-in Exceptions. https://docs.python.org/3/library/exceptions.html
Java语言规范
JLS §10.7规定数组属性 length
决定索引上限,越界访问触发 ArrayIndexOutOfBoundsException
来源:Gosling, J., et al. (2023). The Java Language Specification, Java SE 17 Edition. Oracle.
“非法下标”是计算机科学或数学中的术语,其含义需拆解为“非法”和“下标”两部分理解:
非法
指不符合法律或规则的行为或状态。在编程中,通常表示违反语法规范或操作限制。例如:访问未授权的内存区域或使用无效参数。
下标
表示元素在数组、列表等数据结构中的位置标识,通常以数字或符号标注在右下方(如 $a_i$ 中的 $i$)。在编程中,下标用于索引数据,例如 array
中的 0
。
“非法下标”指使用不符合规则的下标值,常见于以下场景:
list=; print(list)
会触发 IndexError
,因下标超出范围。如需进一步了解术语定义,可参考词典来源。
比较成本丁酸特戊酯动物纤维素堆叠下压多聚体防污漆回转换流机间接控制变量焦磷酸铈角性的接入电路静态印出领事证书美Л苦甙猕囊状成骨不全内讧喷雾酸洗平面培养基破壶音潜变绒毛膜循环审核通知单诗歌眺望星星头巾状的外科粘固粉