Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки




НазваниеЛекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки
Дата конвертации12.05.2013
Размер445 b.
ТипЛекция


Лекция 5

Адресные типы

Адресные типы

  • Указатели

адрес (размещение в памяти) объекта
  • Массивы

последовательность однотипных данных
  • Ссылки

альтернативное имя объекта

Указатели

Для каждого типа T тип T* является указателем на тип T, т.е. переменная типа T* содержит адрес переменной типа T

Инициализация и взятие адреса

Переменная типа «указатель» может быть проинициализирована :
    • численным значением адреса
    • адресом существующей переменной (с помощью оператора взятия адреса)

Оператор & применяется только к lvalue

Разыменование

Чтобы обратиться к переменной, адрес которой хранится в указателе, используют оператор разыменования *.

Результатом разыменования является lvalue



Указатель на void

  • Переменные типа void* нельзя разыменовывать

  • Указатель на любой объект можно присвоить переменной типа void*

  • Переменную типа void* можно присвоить другой переменной типа void*

  • Две переменных типа void* можно сравнивать на равенство и неравенство

  • void* можно явно преобразовать в другой тип



Массивы

Для каждого типа T тип T[size] является массивом объектов типа T. Переменная типа T[size] содержит неразрывный набор объек-тов типа T, индексированных от 0 до size-1

Размер массива должен быть константным выражением

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

  • Массив инициализируется списком значений

  • Если количество значений меньше размера массива, его остальным элементам присваивается 0

  • Указание большего чем размер массива количества значений является ошибкой

  • В случае, если указан список инициализации, можно явно не указывать размер массива

  • Не существует оператора присваивания, идентичной инициализации



Строки и строковые литералы

  • Строковым литералом является последовательность символов, заключенная в кавычки.

  • Тип строкового литерала – массив с достаточным количеством символов (с учетом концевого нуля)

  • Могут быть инициализатором массива

  • Используют модификатор L в том же смысле, что и символьные литералы.



Строковые литералы

  • Могут быть присвоены переменной типа char* (Не рекомендуется)

  • Память под строковые литералы выделяется статически

  • Могут быть заданы в несколько строк



Арифметика указателей

  • Размер указателя = разрядность системы

sizeof(T*)=sizeof(size_t)
  • Разность указателей

sizeof(T*-T*)=sizeof(diff_ptr)
  • Сумма/разность указателя и интегрального типа

  • Операции сравнения



Двойственность указателей и массивов

  • Имя массива может быть использовано как указатель на первый элемент массива



Ссылки

  • Являются альтернативным именем объекта

  • Обязательно инициализируются «опорным» (реферальным) объектом, на который они ссылаются.

  • Не могут быть изменены в процессе программы. Любое изменение ссылки применяется к реферальному объекту.



Двойственность указателей и ссылок

  • Ссылки, по сути, это неизменяемые указатели с неявным разыменованием.



Множественные объявления

Модификаторы типа действуют на все переменные во множественном определении, операторы определения ( *, *const, & [], () ) только на те переменные, которым принадлежат.

Составные типы

Многомерный массив

int a[2][3] = {{1,2,3},{4,5,6}};

Указатели на указатели

int ** p int *const* q

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

int * m[10]

Указатели на массивы

int (*pm)[10]

Ссылка на указатель

int *& p;

Указатель на ссылку

не бывает!


Похожие:

Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconЛекция 2 Типы данных в Java Основные типы простой и объектный Простые типы данных в Java Логический тип
Переменная типа boolean может принимать только два значения false (нет) и true (да)
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconТипы данных в Turbo Pascal
К стандартным типам относятся: При программировании можно использовать как стандартные типы данных, не требующие предварительного...
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconЦелочисленные типы данных Целочисленные типы данных
Основная идея заключается в одновременной обработке нескольких элементов данных за одну инструкцию
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconСтруктурированные типы данных одномерные массивы. Работа с элементами
Заполнить массив М, состоящий из 9 элементов числами 3, 4, 7, 9, 19, 23, 24, 27, 39 и вывести его на экран
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconСинтаксис Haskell vs ocaml типы данных в Haskell
...
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconУказатели. Viidad. Понятие указателя
Любой объект программы (переменная базового или производного типа) занимает в памяти определенную область. Местоположение объекта...
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconРешение задач Табличный способ организации данных Одномерные и двумерные массивы
Таблицей или массивом называют набор однотипных данных расположенных в несколько строк одинаковой длины
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconЛекция raise specification Language: базовые типы, логика, декартовы произведения, множества и операции с множествами План лекции Описания Базовые типы

Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconЛекция 1 Основные понятия эконометрики, этапы построения эконометрической модели, типы данных Что есть «эконометрика»
Основные понятия эконометрики, этапы построения эконометрической модели, типы данных
Лекция 5 Адресные типы Адресные типы Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки iconДинамические структуры данных Динамические массивы ( были рассмотрены на прошлом занятии )
Абстрактный тип данных, упорядоченный набор элементов одного типа, связанных между собой через указатели
Разместите кнопку на своём сайте:
dok.opredelim.com


База данных защищена авторским правом ©dok.opredelim.com 2015
обратиться к администрации
dok.opredelim.com
Главная страница