Массивы символов
Постоянная строка, например,
"I am a string"
является массив символов. Он внутренне представлены в C в ASCII символов в строке, т.е. "я", пусто, "", "м" ... или выше строки, и прекращены в специальных ничтожным характером "\ 0" до программы можете найти конец строки.
Строковые константы часто используются при принятии выпуска понятным, используя код printf :
printf("Hello, world\n");
printf("The value of a is: %f\n", a);
Строковые константы могут быть связаны с переменными. C обеспечивает переменную символьного типа, который может содержать один символ (1 байт) на время. Символьная строка записывается в массив символьного типа, один ASCII характера на одно место.
Никогда не забывайте, что, поскольку являются обычными строками прекращено ничтожным характером "\ 0", мы требуем одного места хранения в массиве.
C не содержит оператор, который манипулирует всей строки сразу. Строки можно манипулировать либо с помощью указателей или с помощью специальной процедуры из стандартной библиотеки string.h строку.
Используя стрелки характер сравнительно нетрудно, поскольку имя массива является просто указателем на ее первый элемент. Рассмотрим программу с учетом следующего :
#include<stdio.h>
void main()
{
char text_1[100], text_2[100], text_3[100];
char *ta, *tb;
int i;
/* set message to be an arrray */
/* of characters; initialize it */
/* to the constant string "..." */
/* let the compiler decide on */
/* its size by using [] */
char message[] = "Hello, I am a string; what are
you?";
printf("Original message: %s\n", message);
/* copy the message to text_1 */
i=0;
while ( (text_1[i] = message[i]) != '\0' )
i++;
printf("Text_1: %s\n", text_1);
/* use explicit pointer arithmetic */
ta=message;
tb=text_2;
while ( ( *tb++ = *ta++ ) != '\0' )
;
printf("Text_2: %s\n", text_2);
}
Выпуск программы будет следующим :
Original message: Hello, I am a string; what are you?
Text_1: Hello, I am a string; what are you?
Text_2: Hello, I am a string; what are you? |
Стандарт "строка" Библиотека содержит множество полезных функций для обработки строк, которые мы будем изучать в строку раздела позже.
|