|
|
1
0
temp[]的这个定义用一个字符(字节)0初始化它。复制c[j]时,将c[j]的所有字节复制到内存中,从temp开始。如果c[j]有超过1个字符,则不属于temp的额外内存将被覆盖,并且很可能是函数的本地堆栈帧。 编译器在调试模式和报告中对此进行检查-请参阅 Run-Time Error Checks 和 Stack Allocation . 如果在堆栈上分配太多,就会出现堆栈溢出! |
|
2
1
从你提到的代码中很少观察到。 首先,这里
第二,内部气泡排序
|
|
|
3
0
没有足够的缓冲区存储作为临时变量。您需要知道给定字符串的最大长度,并在堆栈上分配足够的内存。如果您不知道这一点,那么另一个选项是堆上的动态分配。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 11 月前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 11 月前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |