Рядки символів як масиви

Рядок має тип “масив з символів”. Рядок завершується нульовим символом. Наприклад, рядок QWERTY має тип char [7], порожній рядок “ має тип char[1].

Рядкова константа - це послідовність символів, поміщена в подвійні лапки. У числі символів рядка можуть знаходитися будь-які символьні константи, наприклад

Дзвінок в кінці повідомлення \007\n.

Сусідні рядкові константи транслятором “склеюються”. Наприклад

АБВ ДЕ означає те ж, що АБВГДЕ.

Рядкові константи можна використовувати для ініціалізації символьних масивів. Наприклад, так можна визначити масив sз 7 символів і ініціалізувати його:

char s[] = АБВГДЕ;

Завдання. Заданий рядок. Скопіювати її в символьний масив. Для контролю вивести в стандартний вихідний потік рядок і масив.

Рішення.

#include <iostream>
int main() {

char s1[ ]=1234567890, s2[11];

for (int i = 0; s1[i]; i++) s2[i] = s1[i];

s2[i] = 0;

cout << s1 << ' = ' << s2 << '\n';

return 0;

}

 

Програму можна зробити трохи коротше, переписавши оператора циклу:

for (int i = 0; s2[i]=s1[i]; i++);

Якщо пригадати про покажчики на символи, можна написати і так:

for (char *p1 = s1, *p2 = s2; *p2++=*p1++;);

Зауваження. Кома в C++ є не тільки роздільником, але і операто-ром послідовного виконання. Значенням цієї операції є значення найпра-вішого операнда.