русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Указатели и строки


Дата добавления: 2015-07-04; просмотров: 1003; Нарушение авторских прав


Указатели во многом облегчают работу со строками. Строка – это одномерный массив символов. Поэтому указатель на строку эквивалентен имени этой строки и содержит адрес ее начального символа:

char *c_ptr;

char string[10] = “язык Си”;

c_ptr = string;

Более того, если строка задана как

string = “язык Си”;

то это будет эквивалентно оператору присваивания:

c_ptr = “язык Си”;

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

Таким образом, любой указатель на данные символьного типа может рассматриваться как указатель на строку символов, которую можно задать оператором присваивания, ввести или вывести как обычную строку:

char *message;

message = “Славное море – священный Байкал!”;

puts(message);

printf(“\n%s”, message);

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

Массив указателей на строки позволяет задавать сразу несколько строк:

char *message[4];

message[0] = “Славное ” ;

message[1] = “море ” ;

message[2] = “- ” ;

message[3] = “священный Байкал!” ;

Элементами этого массива являются адреса первых символов строк. С ними можно работать как с элементами обычных символьных массивов, например выводить их на экран:

printf(“\n%s%s%s%s”, message[0], message[1], message[2], message[3]);



На экран будет выведено сообщение:

Славное море – священный Байкал!

 



<== предыдущая лекция | следующая лекция ==>
Float root(point_func f, float a, float b, float eps) | Функции для работы со строками


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.329 сек.