Контрольные вопросы
Что такое массив?
Методы сортировки массива?
Лабораторная работа № 3
Тема: Скалярный тип данных. Указатели
Целью лабораторной работы является получение базовых практических навыков использования указателей в системах программирования, необходимых для дальнейшего выполнения цикла лабораторных работ.
Указатели.
Занятие 1 2 часа
Указатель - это память, распределенная для другой переменной. Если переменная объявлена как указатель, она может хранить адрес и таким образом указывать на другое значение. При объявлении переменной типа указатель необходимо указать тип данных, адреса которых будет содержать переменная, и имя указателя с предшествующей звездочкой. Формат объявления указателя:
Спецификатор -типа * [модификатор] идентификатор ;
Спецификатор - типа задает тип объекта и может быть любого основного типа, типа структуры, смеси и может быть любого основного типа, типа структуры, смеси. Указатели могут указывать также на функции, массивы, другие указатели.
Задавая вместо спецификатор типа ключевое слово void, можно как бы отстрочить спецификацию типа, на который ссылается указатель. Ключевое слово void означает отсутствие типа и позволяет отложить определение типа. Переменная, объявленная как указатель (*) на тип void , может быть использован для ссылки на объект любого типа.
В качестве модификатора при объявлении указателя могут выступать ключевые слова: const, near, far, huge.
Размер переменной, объявленной как указатель, зависит от конфигурации машины и от модели памяти, для который будет компилироваться программа.
Некоторые приемы программирования с использованием указателя:
1) char *pobt; 2) int * pobtas;
1)означает что, объявляется указатель на объект типа char. Этим объектом может быть переменная типа char, массив элементами которых являются символы. Каждое из этих объявлений выделяет память для переменной типа указатель, но каждый из указателей pobt и pobtas пока ни на что не указывает. До тех пор пока указатель не будет присвоен адрес какого либо объекта, его нельзя использовать в программе.
Для получения адреса какого либо объекта используется операция "адрес" (&) . Например, выражение &ival, где ival переменная целого типа, означает "получить адрес переменной ival" Используя операцию "адрес" указателям можно присваивать адрес объектов. Например: char cval, *cptr ; int ival, *iptr; cptr = &cval; iptr = &ival;
Теперь указатель cptr содержит адрес переменной cval, а указатель iptr -адрес переменной ival;
Доступ к объекту через указатель осуществляется с помощью операции "разадресации" (*) , которая рассматривает свой операнд как адрес некоторого объекта и использует этот адрес для выборки содержимого.
Указатель всегда должен указывать на объект того же типа, с которым он объявлен.
Существует специальный тип указателя называемый указателем на неопределенный тип. Для объявления такого указателя вместо спецификатора типа указателя задается ключевое слово void в следующем формате:
Do'stlaringiz bilan baham: |