Дополню немного, хоть уже и время прошло: длина строки определяется
strlen() рантайм, в отличие от sizeof() который времени компиляции.
Даже пишут, что оператор. ;-) В Паскале строки хранятся с указанием
длины, что хорошо 1) при работе с длинными 2)при выделении памяти:
сразу известен размер 3) может включать любой символ (в си не может
содержать 0). Но есть и подводный камень: в переменной какой
размерности будем длину хранить? Ещё в базах данных вроде
используется "строка со счётчиком". strlen() легко делается самописный, но чтобы определить размер нам надо перебрать всю строку, какой бы длины она ни была. Каждый раз, когда надо узнать размер.