русс | укр

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

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

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

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


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

Массивы указателей


Дата добавления: 2014-03-21; просмотров: 1844; Нарушение авторских прав


Строки

Строки как структуры данным могут быть организованы несколькими различными способами. Первый способ – дескрипторный. В этом случае строка представляет собой массив символов, первый элемент массива является дескриптором, т.е. содержит информацию о длине строки. Непосредственно символы строки хранятся, начиная только со второго элемента массива. Недостатком такого способа организации является ограниченная длина строки. Так, если каждый элемент является байтом, то длина строки ограничена 255 символами. Именно такой способ используется в Паскале для строк типа String.

Второй способ организации – маркерный. И в этом случае строка также представляется массивом символов, но символы хранятся, начиная с первого (начального) элемента массива, а заканчивается строка специальным символом, который называется маркером. Такой способ используется в Паскале для строк типа Askiiz и в Си/Си++. Длина строки при маркерном способе организации, теоретически, не ограниченна. Пример маркерного способа организации строк в Си/Си++ уже был приведён:

char vls2[] = "2nd very long string.\n";

 

Третий способ организации – в виде линейного связного списка. Такой способ будет рассмотрен позже.

В языках Си/Си++ указатели на тип char могут инициализироваться с помощью строковых констант:

char *vls1 = ”1st very long string.”;

 

Следует отметить, что присваивание для строковых констант (и вообще строк) возможно только при инициализации. После определения символьных массивов или указателей на тип char в программе для назначения им значений следует пользоваться библиотечной функцией strcpy:

char* str;

strcpy(str,”строка”);

 

Строки при этом обладают всеми свойствами массивов, а указатели – это обычные «указатели на массивы», значением такого указателя является адрес начального символа строки.



 

Существует возможность создать массив указателей. Определение вида

int* arp[20];

 

создает массив указателей на объекты типа int. Элементами этого массива являются указатели на объекты типа int.

Массивы указателей можно инициализировать, например массив строк:

char* month1[ ] = {”январь”,”февраль”,”март”};

 

Элементами массива month1 являются адреса начальных символов строк. Возможен 2-й вариант размещения данных (в том числе строк) в памяти, при котором расход памяти больше:

char month2[ ][10] = {”январь”,”февраль”,”март”};

Одной из областей применения массивов указателей является сортировка сложных объектов неодинакового размера.

 



<== предыдущая лекция | следующая лекция ==>
Связь массивов с указателями | Алгоритмы обработки статических линейных струткур


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


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

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

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


 


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

 
 

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

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