|
|
|
Както може би вече знаете стандартната C++ библиотека предлага класа string, който спомага за лесното обработване и манипулиране на низове от символи. Въпреки това, тъй като стринговете представляват последователност от символи, можем да ги представим като масив от тип char. Например масивът: char jenny [20]; е масив, който може да съхранява до 20 елемента от тип char. Може да се представи така: Не е задължително да запълваме целия масив със символи, единственото което трябва да се внимава е да не превишаваме 20 символа (в случая). Например можем да съхраняваме както думата "Hello", така и "Merry Christmas" (тъй като и двете не превишават лимита от 20 знака). Нагледно това изглежда така: Обърнете внимание как след валидното съдържание е добавен знака '\0' с който се индикира края на редицата. Декларирането на масиви от тип char може да стане по 2 начина: char myword [] = { 'H', 'e', 'l', 'l', 'o', '\0' };Първият начин е валиден за масиви от всякакъв тип (int, double и т.н.) като задължително последният знак трябва да бъде '\0' за край на редицата. По втория начин знака за край се добавя автоматично. И в двата случая масива myword е деклариран с дължина 6 елемента, 5 символа за думата "Hello" и 1 за последния знак. Обърнете внимание, че говорим за инициализиране на масив от знаци в момента на неговото деклариране, а не за присвояване на стойности, след неговото деклариране. Не трябва да забравяме, че това са преди всичко масиви и сме зависими от техните ограничения. Ако приемем че mystext e променлива тип char[], изрази като тези: mystext = "Hello"; са невалидни, както и: mystext = { 'H', 'e', 'l', 'l', 'o', '\0' };Причината за това може да ви се изясни, ако прочетете урока за връзката между указателите и масивите, тъй като масивът всъщност е указател към блок от памет. Ето и една примерна програма за приложение на низовете: #include <iostream> Низовете лесно могат да бъдат конвертирани в стрингове: string mystring; Източник: www.cplusplus.com Все още няма коментари за този урок. |
|
|