Занятие 4. Типы, определяемые пользователем, и указатели.

Презентация:



Advertisements
Похожие презентации
Структуры и объединения Structures and unions НГТУ ИРИТ кафедра ИСУ Ольга Пронина.
Advertisements

УКАЗАТЕЛИ. Переменная - это именованная область памяти с заданным типом. [=значение]; int a; //Переменная типа integer с именем a int b=2;// Переменная.
Лабораторная работа 4. Подпрограммы. Задание на лабораторную работу Написать программу, реализующую хранение информации, указанной в вариантах индивидуальных.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Система типов языка программирования Turbo Pascal…
Функции Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение. Функция.
Основы информатики Массивы. Указатели. Заикин Олег Сергеевич
Тип, имя и значение переменной.. Переменные. В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют.
Описание переменных в языке Visual Basic Презентацию подготовила учитель информатики МБОУ СОШ 3 г. Светлого Нетесова Н. А.
Основы языка программирования. План лекций: 1.Основные особенности языка С++ 2. Основные понятия языка программирования: алфавит, константы, идентификаторы,
Тип, имя и значение переменной. В объектно-ориентированных языках программирования переменные играют такую же важную роль, как и в процедурных языках.
Переменные : имя, значение, тип. Разработал учитель информатики МБОУ СОШ 50 г. Краснодара Ракута Елизавета Григорьевна « Сперва аз да буки, а потом науки.
Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
МАССИВЫ 4 Определение 4 Описание 4 Обращение к элементам массива 4 Связь массивов с указателями 4 Примеры программ.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Лекция 2 Введение в язык Си.
1 ПРОБЛЕМЫ ПРИ ЯВНОМ РАСПРЕДЕЛЕНИИ ПАМЯТИ В С++, СПОСОБЫ ИХ РЕШЕНИЯ. ССЫЛКИ И УКАЗАТЕЛИ. РАСПРЕДЕЛЕНИЕ ПАМЯТИ ПОД ПЕРЕМЕННЫЕ, УПРАВЛЕНИЕ ПАМЯТЬЮ С ПОМОЩЬЮ.
Существует три разновидности комментариев: комментарии в одной строке, комментарии в нескольких строках, комментарии для документирования. Комментарии,
Массивы и строки Лекция 5. Одномерные массивы. Объявление. Общая форма объявления: тип имя_переменной[размер]; Пример: double balance[100]; balance[3]
Лекция 5 Адресные типы. Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки альтернативное имя объекта.
Транксрипт:

Занятие 4. Типы, определяемые пользователем, и указатели

Определение типа в C++ Для определения новых типов данных как псевдонимов существующих типов в C++ имеется ключевое слово typedef. Ключевое слово typedef Общий синтаксис использования typedef имеет вид typedef известныйТип новыйТип; Примеры typedef unsigned word; typedef unsigned char byte;

Ключевое слово typedef определяет новый тип, исходя из уже сущест­ вующего. typedef можно использовать для создания псевдонимов, укорачи­вающих имена существующих типов данных, или для определения имен типов данных, более привычных для вас или лучше описывающих способ их использования.

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

Общий синтаксис объявления перечислимого типа имеет вид: enum перечислимыйТип{ }; Примеры enum YesNo { no, yes, dontCare, maybe }; enum weekday { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } ;

Вот еще один пример объявления перечислимого типа: enum CPUtype {i8088, i80286, i80386, i80486, 80386}; C++ ассоциирует с перечисляемыми идентификаторами целочисленные значения. Например, в последнем примере компилятор присваивает значение 0 идентификатору i8088, значение 1 идентификатору i80286 и т.д.

Структуры C++ поддерживает структуры, элементы которых могут быть данными предопределенных типов или другими структурами. Структура позволяет определять новый тип, который логически объединяет несколько полей, или элементов.

Общий синтаксис объявления структуры таков: struct меткаСтруктуры { };

Примеры struct point { double x; double у; }; struct circle { point center; double radius; };

Определив тип struct, вы можете использовать этот тип для объявления переменных. Вот пример объявления, использующий структуру, которая была объявлена выше: point p1, р2, р3; После объявления самой структуры можно сразу объявить структурные переменные: struct point { double x; double у; } p1, p2, p3;

Непомеченные (анонимные) структуры позволяют объявлять структур­ ные переменные без определения имени соответствующей структуры.

C++ позволяет объявлять и инициализировать структурные переменные, например: point pt = {1.0, -8.3); Для доступа к элементам структуры используют операцию-точку, например: pl.x = 12.45; pl.y = 34.56; р2.х = 23.4/pl.x; р2.у = 0.98*pl.y;

Ссылочные переменные C++ поддерживает ссылочные переменные. Применяя ссылки, можно об­ ращаться к переменным, используя их псевдонимы. Ссылки позволяют реализовать различные программные приемы, используемые при разработке сложных классов. Ссылочные переменные это псевдонимы переменных, к которым они обращаются.

Объявление ссылочных переменных имеет следующий синтаксис: тип& ссылПер (переменная); тип& ссылПер = переменная; СсылПер это ссылочная переменная, которая инициализируется после того, как она объявлена. Перед использованием ссылочной пере­менной вам необходимо удостовериться в том, что она инициализирована или ей присвоено значение. Примеры int х = 10, у = 3; int& rx(x); int& ry = у; // взять ссылку

Обзор указателей Каждая частица информации, будь то код или данные, в компьютерной памяти находится по определенному адресу и занимает определенное коли­чество байт. При выполнении программы ваши переменные имеют опреде­ленные адреса. При работе с языками высокого уровня, такими, как C++, вы не заботитесь об истинных адресах ваших переменных. Эта задача неви­димым для вас образом решается компилятором и исполнительной системой C++.

Логически каждая переменная в вашей программе играет роль эти­кетки адреса памяти. Манипуляция данными с использованием таких «этикеток» много легче работы с действительными адресами, такими, например, как 0F63:01AF4. Адрес это местоположение ячейки памяти. Этикетка адреса это имя переменной. Указатель это специальная переменная, которая хранит адрес другой переменной или иной информации.

int myInt = 42; int *pInt = &myInt;

Общий синтаксис объявления указателя таков: тип* имяУказателя; тип* имяУказателя = переменнаяУказатель; тип* имяУказателя = &переменная; Операция & это операция взятия адреса (это не операция ссылки, которая тоже использует символ &), предназначенная для получения ад­ реса переменной. Операция взятия адреса возвращает адрес переменной, структуры, функции и т. д. В противоположность этому операция ссылки создает псевдоним переменной.

Пример int* intPtr; // указатель на int double* realPtr; // указатель на double char* aString; // указатель на character long lv; long* lp = &lv; Вы можете также объявлять обычные переменные в тех же самых строках, где объявляются указатели. int *intPtr, anint; double x, *realPtr; char *aString, aKey;

Если указатель содержит адрес переменной, вы можете получить значение этой переменной, используя операцию *, за которой следует имя указателя. Например, если рх указатель на переменную х, то можно использовать *рх для доступа к значению переменной х. Это называется разыменованием указателя.