🗊 Презентация Основы программирования. Указатели и динамические массивы

Нажмите для полного просмотра!
Основы программирования. Указатели и динамические массивы, слайд №1 Основы программирования. Указатели и динамические массивы, слайд №2 Основы программирования. Указатели и динамические массивы, слайд №3 Основы программирования. Указатели и динамические массивы, слайд №4 Основы программирования. Указатели и динамические массивы, слайд №5 Основы программирования. Указатели и динамические массивы, слайд №6 Основы программирования. Указатели и динамические массивы, слайд №7 Основы программирования. Указатели и динамические массивы, слайд №8 Основы программирования. Указатели и динамические массивы, слайд №9 Основы программирования. Указатели и динамические массивы, слайд №10 Основы программирования. Указатели и динамические массивы, слайд №11 Основы программирования. Указатели и динамические массивы, слайд №12 Основы программирования. Указатели и динамические массивы, слайд №13 Основы программирования. Указатели и динамические массивы, слайд №14 Основы программирования. Указатели и динамические массивы, слайд №15 Основы программирования. Указатели и динамические массивы, слайд №16

Вы можете ознакомиться и скачать презентацию на тему Основы программирования. Указатели и динамические массивы. Доклад-сообщение содержит 16 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Основы программирования Указатели и динамические массивы
Описание слайда:
Основы программирования Указатели и динамические массивы

Слайд 2


Описание и создание переменных Простое описание числовых переменных: int k; double x; После создания глобальные переменные по умолчанию...
Описание слайда:
Описание и создание переменных Простое описание числовых переменных: int k; double x; После создания глобальные переменные по умолчанию инициализируются нулем, а для остальных содержимое выделенной памяти не изменяется. Явная инициализация при описании: int k = 4; double x = 3.1415; Раздельное описание и присвоение начального значения: int k; double x; k = 4; x = 3.1415; или cin >> k >> x;

Слайд 3


Указатели Указатель – это переменная (константа), значением которой является адрес области памяти, выделенной для переменной или значения...
Описание слайда:
Указатели Указатель – это переменная (константа), значением которой является адрес области памяти, выделенной для переменной или значения определенного типа. Общий формат описания переменной-указателя: тип *имя_переменной; Пример: int *pa; double *px; pa будет хранить адрес переменной/значения типа int px – адрес переменной/значения типа double. pa и px будет выделена память, необходимая для хранения адреса в памяти (4 или 8 байт), но реальные адреса по умолчанию не задаются. Значения переменным-указателям нужно присваивать явно!

Слайд 4


Операции с указателями Взятие адреса – унарный префиксный & – извлечение адреса переменной (константы хранятся в памяти, но их адреса недоступны в...
Описание слайда:
Операции с указателями Взятие адреса – унарный префиксный & – извлечение адреса переменной (константы хранятся в памяти, но их адреса недоступны в программе): int a = 2, b, *pa; double y, x = 3.1415, *px; pa = &a; px = &x; Разыменование – унарная префиксная * – ссылка на объект, на который указывает указатель: y = *px; b = (3 + *pa) * 10; cin >> *pa; cout

Слайд 5


Арифметические операции К указателям можно применять только целочисленное сложение или вычитание. При увеличении (уменьшении) указателя на 1...
Описание слайда:
Арифметические операции К указателям можно применять только целочисленное сложение или вычитание. При увеличении (уменьшении) указателя на 1 происходит переход не к следующему (предыдущему) байту, а к следующему (предыдущему) элементу заданного типа: int *pa, a = 2; double x = 3.1415, *px; pa = &a; px = &x; px++; // px указывает на следующий за x в памяти элемент double (px увеличивается на 8) *(pa+5) = 7; // 5-му после a в памяти элементу int (на расстоянии 5*4 байт от a) присваивается значение 7, значение pa не изменяется

Слайд 6


Операторы для работы с памятью Динамическое выделение памяти: указатель = new тип; // выделяется память, необходимая для типа, адрес начального байта...
Описание слайда:
Операторы для работы с памятью Динамическое выделение памяти: указатель = new тип; // выделяется память, необходимая для типа, адрес начального байта присваивается указателю. Освобождение памяти: delete указатель; // освобождается память, выделенная оператором new для указателя. Примеры: int *pa; double *px, r; pa = new int; px = new double; cin >> *pa; *px = 3.1415; cout

Слайд 7


Статические и динамические массивы Описание статического одномерного массива: int arr[50]; // имя статического массива arr – это указатель-константа,...
Описание слайда:
Статические и динамические массивы Описание статического одномерного массива: int arr[50]; // имя статического массива arr – это указатель-константа, хранящий адрес начального байта массива Динамическое выделение памяти для массива: указатель = new тип[длина]; - выделяется память, необходимая для длина элементов типа, адрес начального байта присваивается указателю. длина - это любое целочисленное выражение, константа или переменная. Освобождение памяти, занятой массивом: delete [] указатель; - освобождается память, выделенная оператором new для массива.

Слайд 8


Статические и динамические массивы Описание и выделение памяти: int arr[50]; double *mas; mas = new double [100]; Обращение к элементам (в любых...
Описание слайда:
Статические и динамические массивы Описание и выделение памяти: int arr[50]; double *mas; mas = new double [100]; Обращение к элементам (в любых массивах нумерация элементов начинается с 0): mas[0] эквивалентно *mas arr[i] эквивалентно *(arr+i) mas[j] эквивалентно *(mas+j) arr+i – адрес i-го элемента arr mas+j – адрес j-го элемента mas Освобождение динамического массива: delete [] mas;

Слайд 9


Пример динамического массива int k, n; double *arr, *ptr; cout > n; arr = new double[n]; srand(time(0)); for (k = 0; k < n; k++) arr[k] =...
Описание слайда:
Пример динамического массива int k, n; double *arr, *ptr; cout > n; arr = new double[n]; srand(time(0)); for (k = 0; k < n; k++) arr[k] = (double)(rand()) / RAND_MAX; for (ptr = arr, k = 0; k < n; k++, ptr++) cout

Слайд 10


Указатель на указатель Переменная-указатель хранится в памяти, как и все переменные других типов, т.е. имеет определенный адрес. Для хранения адреса...
Описание слайда:
Указатель на указатель Переменная-указатель хранится в памяти, как и все переменные других типов, т.е. имеет определенный адрес. Для хранения адреса указателя нужно использовать переменную типа указатель на указатель (двойной указатель): int x, *px, **ppx; x = 13; px = &x; // px получает адрес x ppx = &px; // ppx получает адрес px *ppx // px или ее значение **ppx, *px // x или ее значение 13

Слайд 11


Двумерный массив и указатели Одномерный статический массив int mas[50]; Здесь mas является константой-указателем на начальный (нулевой) элемент...
Описание слайда:
Двумерный массив и указатели Одномерный статический массив int mas[50]; Здесь mas является константой-указателем на начальный (нулевой) элемент массива. Двумерный статический массив int arr[10][20]; Здесь arr имеет специальный тип: int (*)[20] – это указатель на целочисленный массив длиной 20 (массив массивов). arr не является указателем на указатель int **. 10 строк по 20 элементов располагаются в памяти последовательно.

Слайд 12


Двумерный массив и указатели При создании двумерного динамического массива с n строками и m столбцами необходимо явно выделить память для: массива...
Описание слайда:
Двумерный массив и указатели При создании двумерного динамического массива с n строками и m столбцами необходимо явно выделить память для: массива длины n указателей на строки n массивов длины m для элементов строк.

Слайд 13


Двумерный динамический массив int n, m, **x, i, j; cin >> n >> m; x = new int* [n]; // массив указателей for (i = 0; i < n; i++) x[i] = new int [m];...
Описание слайда:
Двумерный динамический массив int n, m, **x, i, j; cin >> n >> m; x = new int* [n]; // массив указателей for (i = 0; i < n; i++) x[i] = new int [m]; // массивы целых for (i = 0; i < n; i++) for (j = 0; j < m; j++) x[i][j] = rand(); for (i = 0; i < n; i++) delete [] x[i]; delete [] x;

Слайд 14


Матрица в виде одномерного массива int n, m, *x, i, j; cin >> n >> m; x = new int [n*m]; // массив целых for (i = 0; i < n; i++) for (j = 0; j < m;...
Описание слайда:
Матрица в виде одномерного массива int n, m, *x, i, j; cin >> n >> m; x = new int [n*m]; // массив целых for (i = 0; i < n; i++) for (j = 0; j < m; j++) x[i*m+j] = rand(); delete [] x;

Слайд 15


int a = 100; double fun(int d, int t) { return a / d + t; } int _tmain(int argc, _TCHAR* argv[]) { float a = 3.1415; double *pm; int d = 123, t =...
Описание слайда:
int a = 100; double fun(int d, int t) { return a / d + t; } int _tmain(int argc, _TCHAR* argv[]) { float a = 3.1415; double *pm; int d = 123, t = 456, k = 0; pm = new double [2]; for (int a = 0; a < 5; a++) k +=a; pm[0] = k + a; pm[1] = fun(d, t); cout

Слайд 16


Области памяти для переменных 4 основные области памяти, выделяемые программе: Область кода – собственно программа Область данных (data) – глобальные...
Описание слайда:
Области памяти для переменных 4 основные области памяти, выделяемые программе: Область кода – собственно программа Область данных (data) – глобальные и static-переменные Стек (stack) – локальные переменные всех блоков, параметры функций Куча (heap) – область динамически выделяемой памяти



Похожие презентации
Mypresentation.ru
Загрузить презентацию