我使用<Config>
<Paths>
<Input>C:\</Input>
<Output>C:\</Output>
<Log>\Logs</Log>
</Paths>
<SystemOwnerRoles>
<Supplier>SUPPLIER</Supplier>
<Mop>MOP</Mop>
</SystemOwnerRoles>
</Config>
分配内存,即它分配了一个字节,但它接受的数字超过1个字节。在此代码中,它接受1000个数字,并且无法将此数字存储在1个字节中。
代码:
malloc(1)
为什么会这样?
答案 0 :(得分:2)
未定义的行为,因为C
和C++
实际上没有对数组进行任何边界检查。
答案 1 :(得分:0)
数组没有任何边界检查条件。 如果您的操作系统或框架效率很高,则会导致分段错误。