Как массив символов

Например,

char str1[]= “adc”; //массив из 4 элементов типа char, элемент str2[3]= ‘\0’ – признак конца строки.

Как указатель на строковую константу

Например,

char *str2= “abc”; // указатель на строковую константу

Для строк не определено специальных операций, они обрабатываются как обычные массивы. Однако в отличии от массивов других типов, можно считать все символы строки с клавиатуры можно с помощью одной операции чтения из потока cin, Следует помнить, что в этом случае считается только символы по первого пробельного разделителя. Кроме того, всю строку можно вывести на экран с помощью операции чтения в поток cout.

Например

char s[10];

cin>>s; // для массивов других типов эта операция недопустима.

Если на клавиатуре набрать строку «мама мыла раму», то в массив запишется только слово «мама», то есть в массиве будет 5 элементов со значениями ‘м’, ‘а’, ‘м’, ‘а’, ‘\0’.

cout<<s; //на экран выведется вся строка «мама», для массивов других типов в данном случае выведется только адрес памяти первого элемента.

При выводе символьного массива с помощью объекта cout из памяти выводятся подряд все символы, начиная с первого и до тех пор, пока не встретится символ ‘\0’. Поэтому, если символьный массив инициализирован списком (а не строковой константой) или заполнятся в цикле ответственность за то, чтобы последний символ был символом конца строки, ложится на плечи программиста.

Например,

char s={‘m’, ‘a’, ‘m’};

cout<<s;//на экран выведется mamЁ@kj^^ и т.п.

Существует функции стандартной библиотеки, которые позволяют копировать, сравнивать, объединять строки, выделять подстроки, определять длину строки, считывать строки с клавиатуры и файла. (Они описаны в заголовочных файлах stdio.h, stdlib.h, string.h)

Например,

# include <iostream.h>

# include <stdio.h>

# include <stdlib.h>

main ()

{

const int n1=20;

int n2=20;

char str1[n1];

char *str2=new char [n2];

gets(str1);//считываем строку

cout<<"\n"<<str1<<"\n";

cin.getline(str2,n2);//считываем строку

cout<<"\n"<<str2<<"\n";

cout<<strlen(str1)<<" "<<strlen(str2);// выводим на экран длины строк

}

Кроме того, существует класс string, который описан в заголовочном файле cstring.h.

Тема 1. 3. Структура программы на языке С++. (См. в пособии, стр.5 - 8).

Важно помнить, что программа в общем случае состоят из 4-х основных компонентов – директив, описаний, функций и комментариев.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: