![]()
|
|||||||||
Знак равенства перед строковым литералом означает инициализацию, а не присваивание!!!Строки Строка представляет собой массив символов, заканчивающийся нуль-символом. Под нуль-символом понимается символ с кодом, равным 0, что записывается в виде управляющей последовательности '\0'. По его положению определяется фактическая длина строки. Строки не обязательно должны состоять из символов типа char (это позволяет использовать любой набор символов, а не только ASCII). Строку можно инициализировать строковым литералом.
Если строка при определении инициализируется, ее размерность можно опускать, так как компилятор сам выделит необходимое количество байт. char str[] = "Vasia"; // выделено и заполнено 6 байт Оператор "char *str = "Vasia"" создает не строковую переменную, а указатель на строковую константу, изменить которую невозможно. Например, оператор str[1]='o' не допускается. Знак равенства перед строковым литералом означает инициализацию, а не присваивание!!! Операции со строками Операция присваивания одной строки другой не определена и может выполняться с помощью цикла или функций стандартной библиотеки поскольку строка является массивом. Для копирования, сравнения, объединения строк, поиска подстроки, определения длины строки и т. д., а также ввода строк и отдельных символов с клавиатуры и из файла можно использовать библиотеки <string.h> (<сstring.h>)
|
|||||||||
|