【发布时间】:2018-07-21 14:43:25
【问题描述】:
所以我在我的大学注册了一个初学者级别的系统课程,我的教授提到不能更改数组大小,因为它们是在内存中设置的。
此外,C 中的字符串只是字符数组。
所以我的问题是,当长度本身不能更改时,如何使用 strcpy 复制不同长度的字符串?
(目前凌晨 2:30,1 天后考试)
抱歉,这是一个初学者的问题,但非常感谢任何帮助!谢谢:)
【问题讨论】:
-
时间不早了——考前休息一下吧。
-
如果它们的长度是固定的,那么 strcpy 会在内存中分配新的大小并将两个数组复制到其中。
-
正如@coderredoc 所说 - 休息一下。支撑你理解的部分。考前吃好早餐,喝点水。这对大脑有好处。
-
所有字符串都是 - 是一个带有
'\0'(nul 终止字符)的字符数组,它告诉您字符串的结尾在哪里。 (当然,字符串可以简单地是内存中的连续字节,但您会发现偏差 -- “如果它不是以 nul 结尾的 -- 它不是字符串”) 并且您不能将它作为参数传递给string.h中的函数,该函数需要一个字符串,因为该函数将无法确定字符串的结尾在哪里,并且只会保留将字节读入你不拥有的内存中寻找一个直到真正糟糕的事情发生...... -
感谢大家的帮助,真的解开了一些误解