Jak działają łańcuchy i tablice znaków w C?

Żadne przewodniki, których widziałem, nie wyjaśniają tego zbyt dobrze.

To znaczy, możesz przydzielić pamięć dlachar*lub piszchar[25] zamiast? Co za różnica? A potem są literały, których nie można manipulować? Co jeśli chcesz przypisać stały ciąg do zmiennej? Lubić,stringVariable = "thisIsALiteral", jak potem manipulujesz tym?

Czy ktoś może tu ustanowić rekord? A w ostatnim przypadku, z literałem, w jaki sposób zadbacie o unieważnienie? Uważam to za bardzo mylące.

EDYCJA: Prawdziwym problemem wydaje się być to, że jak to rozumiem, musisz żonglować tymi różnymi konstrukcjami, aby osiągnąć nawet proste rzeczy. Tylko na przykładchar * może być przekazany jako argument lub wartość zwracana, ale tylkochar[] można przypisać literał i zmodyfikować. Czuję, że to oczywiste, że często / zawsze musimy być w stanie robić obie rzeczy, i właśnie tam jest moja pułapka.

questionAnswers(3)

yourAnswerToTheQuestion