КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Имя_структурной_переменнной.имя_поля
Способ – при объявлении (описании) шаблона. Способ – по шаблону. На основе шаблона структуры создается структурная переменная (экземпляр структуры), под которую выделяется память и с которой можно работать в программе. Под объявление шаблона компилятор память не выделяет. Цели изучения темы Пример Наиболее полезное применение массивов указателей – это массив указателей на строки. Пример Указатель можно инкрементировать и декрементировать. При этом происходит смещение на один элемент массива независимо от типа элемента. Допустим uk – адрес нулевого элемента массива, тогда cout<<*uk; // вывод значения 0-го элемента uk++; cout<<*uk; // вывод значения 1-го элемента, реально смещение на несколько байтовuk+=2cout<<*uk; // вывод значения 3-го элемента
char names [3] [20]= { {"Иванов"}, {"Петров"}, {"Сидоров "} };
Схематично этот массив можно изобразить следующим образом
Для вывода строки можно использовать команду: cout<< *names; // выводится «Иванов»
Тема 1.6(2). Структуры и строки · изучить способ описания и работы со структурами; · научится работать со строками. 1.6.1. Структуры Позволяют группировать данные и работать с ними как с единым целым. Возможность манипулирования несколькими значениями в одной переменной облегчает создания и модификации программ.
Структура – это множество, состоящее из нескольких элементов разных типов (аналог записи в ЯП Pascal).
Каждый элемент структуры называется полем.
При объявлении (описании) структуры указывается стандартное слово struct, затем имя структуры и определяются все элементы структуры (указываются их имена и типы). Пример объявления структуры (содержащей данные о сотруднике): struct sotr {char familia [25]; // массив из 25 символовchar adres [30]; // массив из 30 символовlong int telefon;};
Так задается шаблон структуры; где имя шаблона – sort; поля – familia, adres, telefon.
Структурные переменные можно создавать разными способами.
Пример (по шаблону sort): struct sotr с1, с2, с3; здесь создаются три структурные переменные (три экземпляра структуры) – с1, с2, с3. В ЯП С++ слово struct можно опускать (не указывать): sotr с1, с2, с3;Пример (при объявлении шаблона sort): struct sotr {char familia [25]; char adres [30]; long int telefon;} c1, c2, c3;
Доступ к каждому элементу происходит с помощью оператора «точка» и имеет вид: Примеры: c1. telefon=321123;cout << с1.telefon;
Структуры можно инициализировать двумя способами: • во время объявления шаблона • в теле программы.
Инициализация структуры во время объявления шаблона: struct sotr { char familia [25]; char adres [30]; long int telefon; } c1={ //инициализируется структурная переменная с1 "Антонов А.И.", "ул. Седова 25, 10" 321123 }, c2, c3;
Инициализация структуры во время работы программы выполняется присваиванием значений полям структуры или вводом значений полей (например, с клавиатуры): Пример присваивания значений полям структуры: strcpy (c2.familia, "Антонов А.И. "); // копирует "Антонов А.И. " в поле c2.familiastrcpy (c2.adres, "ул. Седова 25, 10");с2.telefon=321595;
Пример ввода значений полей с клавиатуры: cout<< "Введите фамилию "; gets (c3.familia); cout<< "Введите адрес ";gets (c3.adres);cout<< "Введите телефон ";cin >> (c3.telefon);
Функция gets(s) вводит строку символов с клавиатуры и записывает ее в строку s, объявленную как char s[] или char *s.
Дата добавления: 2014-01-04; Просмотров: 250; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |