Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Лекция 10. Символьные массивы и функции для работы с литерами и строками




 

Любая строка символов, заключённая в двойные кавычки называется строковым литералом и представлена в памяти программы как массив элементов типа char, в конце которого помещён символ ‘\0’. Это даёт возможность использовать строковые литералы как аргументы в библиотечных функциях работы со строками. Значением литерала является его адрес размещения в памяти.

Инициализация строковых массивов

1) char array[10] = {‘A’,’B’,’C’};

Выделяется память на 10 элементов. Первые 3 инициализируются значениями из списка {…}, остальные элементы значением ‘\0’ если массив внешний или к нему добавлено static, если автоматический, то остальное мусор.

2) char array[] = {‘A’,’B’,’C’};

Будет создан массив из 3-х элементов и инициализирован.

3) char strings[3][80]=

{“Первая строка”,

“Вторая строка”,

“Третья строка”};

Здесь каждая из трёх строк содержит по 80 байт и заполняется посимвольно символами из литералов в т.ч. каждая строка заканчивается символом ‘\0’. Заполнение остатков строк как в предыдущем случае.

4) Можно было бы и не писать первый индекс, т.е. указать char strings[][80]={…}

 

Пример

string = “Слово”;

Если бы был объявлен массив:

char string[10];,

то string = “Слово”; NB! Нельзя выполнить.

 

Операции над массивами

Основные положения

Для массовых операций необходимо использовать библиотечные функции пересылок строк.

Пример

(Работа с символьными массивами с использованием ссылок)

strcpy (s,t) /* копирование из t в s */

char s, t; /*см. <string.h>*/

{

while ((*s++=*t++)! = ‘\0’);

}

В вызове функции strcpy() аргументы должны быть либо массивами, либо конкретно определёнными указателями. Так, в последнем случае s должно ссылаться на свободное место в памяти для размещения пересылаемых данных, а t должно ссылаться на массив, содержащий исходную строку, заканчивающийся символом ‘\0’, либо должна быть инициализирована ссылкой на литерал.

Пример

char s[20], *t = “Слово”;

strcpy(s,t)

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных