Строки с нулевым окончанием

204 прочитали

Изначально в Си вообще не было строк как таковых. По сути это были массивы символов. А чтобы понимать, где заканчивается строка, последний символ должен был иметь код 0. Так и появилось название: строки с нулевым окончанием.

Здесь надо понимать, что числовое значение этого последнего символа в строке равно 0, однако '\0' - это тип char.

Несмотря на то, что в языке С++ имеется отдельный тип string, который во многих случаях более удобен в использовании, строки с нулевым окончанием в стиле Си также продолжают применяться. Так что программисты на С++ должны об этом знать.

Объявить массив символов можно так:

char EndStr = '\0';
char Hello[] = {'H', 'e', 'l', 'l', 'o', '!', EndStr};

Разумеется, использовать переменную EndStr необязательно. Это я просто сделал для примера. Вместо неё в массив можно сразу поместить символ конца строки '\0'. Про инициализацию массива можно почитать здесь.

Дальше вы можете вывести этот массив как обычную строку:

cout << Hello;

Это будет работать. Но если вам вдруг надо перебрать все символы этой строки, то можно сделать так:

for (int i = 0; Hello[i] != '\0'; i++) cout << Hello[i];

Ну и картинка с редактором исходного кода для наглядности:

Изначально в Си вообще не было строк как таковых. По сути это были массивы символов. А чтобы понимать, где заканчивается строка, последний символ должен был иметь код 0.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.