Как строки и символьные массивы работают в C?
Нет направляющих яВидимо, кажется, это очень хорошо объясняет.
Я имею в виду, вы можете выделить память дляchar*
или напишитеchar[25]
вместо? Какие'Разница? И тогда есть литералы, которые могутт манипулировать? Что если вы хотите назначить фиксированную строку переменной? Подобно,stringVariable = "thisIsALiteral"
тогда как вы потом манипулируете этим?
Может кто-то установить рекорд прямо здесь? И в последнем случае, с литералом, как вы заботитесь о нулевом завершении? Я нахожу это очень запутанным.
РЕДАКТИРОВАТЬ: реальная проблема, кажется, в том, что, как я понимаю, вы должны манипулировать этими различными конструкциями, чтобы выполнить даже простые вещи. Например, толькоchar *
может быть передан в качестве аргумента или возвращаемого значения, но толькоchar[]
можно присвоить буквальное и модифицированное. Мне так хочетсяОчевидно, что мы часто / всегда должны уметь делать и то, и другое.где моя ловушка.