为什么strcpy不会在这里失败?商榷

时间:2020-10-05 15:57:30

标签: c

为什么我没有分割错误或什么?

access_key

1 个答案:

答案 0 :(得分:3)

当您在C中分配一块内存时,它通常会尝试向您返回一个连续地址块,例如msg [5],假设一个字节的第一个地址是42,那么下一个地址将是43,下一个是44,然后是45和46。因此,按照这个想法,如果地址47是空闲的(如果它没有由另一个变量分配),它将存储下一个字节。字符串(对于“ dsasgagasagfggdag”,它将存储字符“ a”)。

因此,此行为仅由于因果关系而发生。正确的方法是使用函数“ malloc”并使用正确数量的字符,因此可以确保将所有字符存储在正确的地址中。

相关问题