🗊 Презентация Указатели, массивы, строки, функции

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

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

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


Слайд 1


Введение в C++ Указатели, массивы, строки, функции
Описание слайда:
Введение в C++ Указатели, массивы, строки, функции

Слайд 2


Указатели, массивы, строки, функции Указатели Указатель – это переменная, предназначенная для хранения адреса объекта. формат: [ ] *; или [ ] *;...
Описание слайда:
Указатели, массивы, строки, функции Указатели Указатель – это переменная, предназначенная для хранения адреса объекта. формат: [ ] *; или [ ] *; более сложная конструкция Пусть описаны следующие переменные: char c1; int num; double sum; char c2; char *p1; p1 = &c1; ( 200 ) c1  *p1 int *p2; p2 = # ( 202 ) num  *p2 double *p3; p3 = ∑ ( 206 ) sum  *p3 char *p4; p4 = &c2; ( 214 ) c2  *p4 Для эффективной работы с указателями нужно знать размеры объектов, которые они адресуют. Компилятор обычно эти размеры знает (но не всегда). void *p5; Так тоже можно объявить, но перед использованием указателя нужно явно привести его к некоторому типу, например: (int*) p5++; Итак: & - операция получения адреса объекта * - операция косвенной адресации (доступ к объекту через указатель на объект)

Слайд 3


Указатели, массивы, строки, функции Объявления функций, передача аргументов Сигнатура функции: [ ] [ ] ( [ ] ) [ throw ( ) ]; Сигнатуру ещё называют...
Описание слайда:
Указатели, массивы, строки, функции Объявления функций, передача аргументов Сигнатура функции: [ ] [ ] ( [ ] ) [ throw ( ) ]; Сигнатуру ещё называют прототипом, или описанием функции. Если вместе с прототипом функции также задано тело функции (её исполняемый код), то говорят, что функция определена полностью (дано определение функции). Список аргументов в прототипе функции является формальным. Важно лишь количество формальных аргументов и их типы. Имена формальных аргументов в прототипе функции могут быть опущены. При вызове функции формальные аргументы замещаются фактическими аргументами. пример:

Слайд 4


Указатели, массивы, строки, функции При вызове функции в специальной области памяти – программном стеке создаются временные копии фактических...
Описание слайда:
Указатели, массивы, строки, функции При вызове функции в специальной области памяти – программном стеке создаются временные копии фактических аргументов. Вызванная функция работает с копиями фактических аргументов. Оригиналы аргументов остаются неизменными. Этот механизм называется передача аргументов «по значению». Если требуется работать с оригиналами аргументов, имеется механизм передачи аргументов «по ссылке». пример:

Слайд 5


Указатели, массивы, строки, функции Ещё примеры функций:
Описание слайда:
Указатели, массивы, строки, функции Ещё примеры функций:

Слайд 6


Указатели, массивы, строки, функции Массивы и указатели Массив есть набор объектов одного типа, размещенных в смежных областях памяти. Примеры...
Описание слайда:
Указатели, массивы, строки, функции Массивы и указатели Массив есть набор объектов одного типа, размещенных в смежных областях памяти. Примеры описания массивов: float t[256]; первый элемент t[0], последний элемент t[255] static char code[12]; - статический массив extern z[]; - внешний массив Инициализировать можно только статические и внешние массивы: static a[5] = { 1, 2, 3, 4, 5 }; или так: static a[] = { 1, 2, 3, 4, 5 }; Компилятор сам определит размерность массива, исходя из списка инициализации. Пример задания двумерного массива: static b [2][5] = { { 1, 2, 3, 4, 5 }, { 11, 12, 13, 14, 15 } }; Вопрос: Какова связь между массивами и указателями? Ответ: Имя массива есть синоним адреса первого элемента массива. Связь между массивами и указателями задается принципами адресной арифметики. Адресная арифметика – это приемы манипулирования с указателями.

Слайд 7


Указатели, массивы, строки, функции пример: Пусть есть следующие описания: int d[4], *p; p = &d[0]; или проще: p = d; Тогда *p  d[0] *(p+1)  d[1]...
Описание слайда:
Указатели, массивы, строки, функции пример: Пусть есть следующие описания: int d[4], *p; p = &d[0]; или проще: p = d; Тогда *p  d[0] *(p+1)  d[1] *(p+2)  d[2] *(p+3)  d[3] и вообще: *(p+n)  d[n] Два принципа адресной арифметики: 1. Пусть p – указатель на объект определенного типа. Тогда p++ указывает на следующий объект в массиве объектов данного типа, а p-- указывает на предыдущий объект. Вообще, p+=n указывает на n объектов правее, а p-=n указывает на n объектов левее в массиве объектов данного типа. 2. Если p и q – два указателя на элементы одного массива, то разность (p-q) равна количеству элементов между ними

Слайд 8


Указатели, массивы, строки, функции Двумерные массивы. Пусть есть описание: int b [2] [3]; выражение b[ i, j ] – неправильное, b [i][j] - правильное...
Описание слайда:
Указатели, массивы, строки, функции Двумерные массивы. Пусть есть описание: int b [2] [3]; выражение b[ i, j ] – неправильное, b [i][j] - правильное Двумерной массив рассматривается как массив массивов. Размещение в памяти: int *p = b; *(p+1)  b[0][1] *(p+2)  b[0][2] *(p+3)  b[1][0] Вообще, в языке Си любое индексное выражение вида [ ] интерпретируется как * ( + )

Слайд 9


Указатели, массивы, строки, функции Передача массивов в качестве аргументов функций. Одномерного: f ( x ) если хотите работать с массивом через...
Описание слайда:
Указатели, массивы, строки, функции Передача массивов в качестве аргументов функций. Одномерного: f ( x ) если хотите работать с массивом через индексы int x[]; { ….. } или f ( int *x) если хотите работать с массивом через указатели { ….. } Двумерного: f ( x ) если хотите работать с массивом через индексы int x[][]; { ….. } или f ( int *x[]) комбинированный способ { ….. } Массивы указателей (пример описания): char *p[]; p - это массив указателей, т.к. приоритет операции [] выше, чем * char (*p)[]; а вот здесь p - это указатель на массив (имени у массива нет)

Слайд 10


Указатели, массивы, строки, функции Строки и указатели Строка есть массив символов, оканчивающийся символом ‘\0’. Пусть есть такое описание: static...
Описание слайда:
Указатели, массивы, строки, функции Строки и указатели Строка есть массив символов, оканчивающийся символом ‘\0’. Пусть есть такое описание: static char s[] = “abcdef … z”; char *sp = s; Имя строки есть синоним адреса её первого элемента. Пример в/в строк: используем две функции: char* gets (char*) и puts (char*) { char buffer[81], *p; p = gets (buffer); puts (buffer); puts (p); }

Слайд 11


Указатели, массивы, строки, функции Пример: вычисление длины строки
Описание слайда:
Указатели, массивы, строки, функции Пример: вычисление длины строки

Слайд 12


Указатели, массивы, строки, функции Пример: копирование строк Здесь опять использован тот принцип, что в языке Си любое индексное выражение вида [ ]...
Описание слайда:
Указатели, массивы, строки, функции Пример: копирование строк Здесь опять использован тот принцип, что в языке Си любое индексное выражение вида [ ] интерпретируется как * ( + )

Слайд 13


Указатели, массивы, строки, функции Аргументы командной строки Запуская исполняемый файл в DOS, можно указать для него ряд аргументов, например:...
Описание слайда:
Указатели, массивы, строки, функции Аргументы командной строки Запуская исполняемый файл в DOS, можно указать для него ряд аргументов, например: a.exe один два три Операционная система сформирует массив указателей на строки символов (лексемы), которые и появились в командной строке, и передаст их в функцию main. Количество лексем – это аргумент argc, массив указателей на лексемы – аргумент argv. В нашем случае: argv [0] -> “a.exe” argv [1] -> “один” argv [2] -> “два” argv [3] -> “три” пример обработки аргументов командной строки:

Слайд 14


Указатели, массивы, строки, функции Указатели на функции Рассмотрим три описания: char* f(); char (*g) (); char * ( * ( *h ) ( ) ) []; Здесь f –...
Описание слайда:
Указатели, массивы, строки, функции Указатели на функции Рассмотрим три описания: char* f(); char (*g) (); char * ( * ( *h ) ( ) ) []; Здесь f – функция, g – указатель на функцию, h – тоже указатель на функцию, которая возвращает указатель на массив указателей на символы. Пример: решение нелинейного уравнения f(x) = 0 упрощенным методом Ньютона Резюме. Имя функции есть синоним адреса точки входа в функцию.



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