Алгоритмические языки и программирование. Указатели

Здесь вы можете просмотреть и скачать доклад по теме «Алгоритмические языки и программирование. Указатели», размещенный в категории «Устройства и комплектующие», который поможет вам успешно провести свое мероприятие или подготовиться к занятию.

Информация о презентации

Алгоритмические языки и программирование. Указатели
Раздел:Устройства и комплектующие
Слайдов:24
Слов:520
Символов:3876
Просмотров:54
Скачиваний:0
Загрузка:онлайн
Размер:86.78 kB
Тип:ppt / pptx для PowerPoint/Impress
Теги:#указател, #строк, #массив, #адрес, #элемент, #strlen, #объект, #char, #перемен, #temp

Похожие презентации об устройстве и комплектующих

Готовые презентации об устройстве и комплектующих

Содержание слайда №2 (7 знаков, 1 слово)

Часть 1

Содержание слайда №3 (429 знаков, 53 слова)

Указатели Указатель — это переменная, содержащая адрес ячейки памяти (числовое значение). Память типичной машины представляет собой массив последовательно пронумерованных(адресованных) ячеек, с которыми можно работать по отдельности или в виде массива. Синтаксис объявления указателей: *; Например: float *a; long int *b; Два основных оператора для работы с указателями – это оператор & взятия адреса, и оператор * разыменования.

Содержание слайда №4 (288 знаков, 36 слов)

Указатели и адреса Оператор &(взятие адреса) применяется только к “объектам”, расположенным в памяти: к переменным и элементам массивов. Унарный оператор *(разыменование) есть оператор косвенного доступа. Примененный к указателю, он выдает “объект”, на который данный указатель указывает.

Содержание слайда №5 (6 знаков, 1 слово)

Пример

Содержание слайда №6 (107 знаков, 18 слов)

Перестановка двух переменных void swap(int x, int y) /* НЕВЕРНО */ { int temp; temp = x; x = y; y = temp; }

Содержание слайда №7 (165 знаков, 22 слова)

Перестановка двух переменных Чтобы получить желаемый эффект, вызывающей программе надо передать указатели на те значения, которые должны быть изменены: swap(&x, &y);

Содержание слайда №8 (105 знаков, 17 слов)

Перестановка двух переменных void swap(int *px, int *py) { int temp; temp = *рх; *рх = *py; *рy = temp; }

Содержание слайда №9 (161 знак, 19 слов)

Перестановка двух переменных Аргументы-указатели позволяют функции осуществлять доступ к объектам вызвавшей ее программы и дают возможность изменить эти объекты.

Содержание слайда №10 (7 знаков, 1 слово)

Часть 2

Содержание слайда №11 (501 знак, 66 слов)

Адресная арифметика Указатели и целочисленные переменные можно складывать и вычитать. Конструкция р + n означает адрес объекта, занимающего n-е место после объекта, на который указывает р. Это справедливо безотносительно к типу объекта(исключение void), на который указывает р; n автоматически домножается на коэффициент, соответствующий размеру объекта. Информация о размере неявно присутствует в объявлении р. Если, к примеру, int занимает четыре байта, то коэффициент умножения будет равен четырем.

Содержание слайда №12 (245 знаков, 36 слов)

Указатели и массивы int a[10]; int *pa = NULL; ра = &а[0]; /* будет указывать на нулевой элемент а, иначе говоря, pa будет содержать адрес элемента а[0]. */ х = *ра; // копирует содержимое а[0] в х. *(pa+1) ; // возвращает первый элемент массива

Содержание слайда №13 (273 знака, 43 слова)

Нулевой элемент массива и адрес /* ра и а имеют одно и то же значение. */ ра = &а[0]; /* Поскольку имя массива является синонимом расположения его начального элемента, присваивание ра=&а[0] можно также записать в следующем виде: */ pa = a; // а[i] можно записать как *(а+i)

Содержание слайда №14 (275 знаков, 34 слова)

Адресная арифметика Важно помнить что следующее операции опасны: Использовать арифметические операции с указателями ссылающимися не на массив. Арифметические операции между указателями на разные массивы. Выход за пределы массива(начало и конец) используя адресную арифметику.

Содержание слайда №15 (223 знака, 32 слова)

Длина строки /* strlen: возвращает длину строки */ int strlen(char *s) { int n; // увеличение на 1 некоторой копия указателя, находящегося в личном пользовании функции strlen. for (n = 0; *s ! = '\0' ; s++) n++; return n; }

Содержание слайда №16 (197 знаков, 23 слова)

Длина строки /* все вызовы правомерны */ strlen("3дравствуй, мир"); /* строковая константа */ char array[100]; strlen(array); /* char array[100]; */ char * prt = NULL; strlen(ptr); /* char *ptr; */

Содержание слайда №17 (129 знаков, 23 слова)

Длина строки /* strlen: возвращает длину строки s */ int strlen(char *s) { char *p = s; while (*p ! = '\0' ) p++; return p - s; }

Содержание слайда №18 (20 знаков, 5 слов)

Символы и строки в С

Содержание слайда №19 (20 знаков, 5 слов)

Символы и строки в С

Содержание слайда №20 (19 знаков, 2 слова)

Лабораторные работы

Содержание слайда №21 (201 знак, 24 слова)

Указатели Создайте и заполните массив из 10 элементов, числами от 100 до 110. Напишите программу, которая будет выводить адреса элементов массива. Проанализируйте как меняются адреса элементов массива.

Содержание слайда №22 (68 знаков, 8 слов)

Строки Напишите программу, вычисляющую количество символов в строке.

Содержание слайда №23 (183 знака, 21 слово)

Среднее арифметическое последовательности чисел Напишите функцию для нахождения среднего арифметического последовательности чисел, если известно, что признак конца списка (цифра '0').

Содержание слайда №24 (247 знаков, 30 слов)

Замена символов Дана строка (максимально 100 символов), содержащая слова, разделенные одним или несколькими пробелами, или знаками табуляции. Заменить все знаки табуляции знаком пробела, удалить двойные пробелы из строки. При реализации программы.