为什么我没有分割错误或什么?
access_key
答案 0 :(得分:3)
当您在C中分配一块内存时,它通常会尝试向您返回一个连续地址块,例如msg [5],假设一个字节的第一个地址是42,那么下一个地址将是43,下一个是44,然后是45和46。因此,按照这个想法,如果地址47是空闲的(如果它没有由另一个变量分配),它将存储下一个字节。字符串(对于“ dsasgagasagfggdag”,它将存储字符“ a”)。
因此,此行为仅由于因果关系而发生。正确的方法是使用函数“ malloc”并使用正确数量的字符,因此可以确保将所有字符存储在正确的地址中。