Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
22 слайда
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
123.00 kB
Просмотров:
59
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Массивы и указатели Прико П.А.](/documents_6/14d66aa7b08aedc8634f9137375b400e/img0.jpg)
Содержание слайда: Массивы и указатели
Прико П.А.
№2 слайд![Указатели и адресация](/documents_6/14d66aa7b08aedc8634f9137375b400e/img1.jpg)
Содержание слайда: Указатели и адресация
«Указатель — переменная, содержащая адрес объекта. Указатель не несет информации о содержимом объекта, а содержит сведения о том, где размещен объект».
Источник: [1]
№3 слайд![Указатели и адресация Каждая](/documents_6/14d66aa7b08aedc8634f9137375b400e/img2.jpg)
Содержание слайда: Указатели и адресация
«Каждая переменная в памяти имеет свой адрес - номер первой ячейки, где она расположена, а также свое значение».
Источник: [1]
№4 слайд![Указатели и адресация](/documents_6/14d66aa7b08aedc8634f9137375b400e/img3.jpg)
Содержание слайда: Указатели и адресация
«Указатель — это тоже переменная, которая размещается в памяти. Она тоже имеет адрес, а ее значение является адресом некоторой другой переменной».
Источник: [1]
№5 слайд![Указатели и адресация](/documents_6/14d66aa7b08aedc8634f9137375b400e/img4.jpg)
Содержание слайда: Указатели и адресация
«Переменная, объявленная как указатель, занимает 4 байта в оперативной памяти (в случае 32-битной версии компилятора)».
Источник: [1]
№6 слайд![источник int a, b a b amp a](/documents_6/14d66aa7b08aedc8634f9137375b400e/img5.jpg)
Содержание слайда: источник: [1]
int a, *b;
a = 134;
b = &a;
№7 слайд![Шаблон тип ИмяОбъекта char p](/documents_6/14d66aa7b08aedc8634f9137375b400e/img6.jpg)
Содержание слайда: Шаблон
тип *ИмяОбъекта;
char *p;
Тип указателя— это тип переменной, адрес которой он содержит».
Источник: https://prog-cpp.ru/c-pointers/
№8 слайд![Операция звездочка --](/documents_6/14d66aa7b08aedc8634f9137375b400e/img7.jpg)
Содержание слайда: *
* Операция «звездочка» -- получить значение объекта по его адресу
сhar c; // переменная
char *p; // указатель
Источник: [1]
№9 слайд![amp amp - операция амперсанд](/documents_6/14d66aa7b08aedc8634f9137375b400e/img8.jpg)
Содержание слайда: &
& - операция «амперсанд» -- получить адрес переменной
сhar c; // переменная
char *p; // указатель
p = &c; // p = адрес c
Источник: [1]
№10 слайд![Указатели как аргумент](/documents_6/14d66aa7b08aedc8634f9137375b400e/img9.jpg)
Содержание слайда: Указатели как аргумент функции
void swap(int х, int у) {
int temp; temp = х; x = y; у = temp;
}
swap(a, b); //не получится
swap(&a, &b); // правильно
void swap(int *px, int *py) {
int temp; temp = *рх; *рх = *py; *ру = temp;
}
Источник: [2]
№11 слайд![Массивы Массив структура](/documents_6/14d66aa7b08aedc8634f9137375b400e/img10.jpg)
Содержание слайда: Массивы
Массив – структура данных, представляющая собой набор элементов одного типа, компактно размещенный в памяти.
double vector_a[10];
//vector_a[0] – указатель на начальный элемент массива
double vector[10] = {1,2,3,4,8,1,3,0,7,9};
Элементы массива нумеруются с нуля!
double x = vector[4]; // x равно 8
double y = vector[10]; // ошибка!
№12 слайд![Двумерный массив double](/documents_6/14d66aa7b08aedc8634f9137375b400e/img11.jpg)
Содержание слайда: Двумерный массив
double matrix_a[4][5];
double matrix[4][5]={ 1,2,3,4,5,
2,3,4,5,6,
3,4,5,6,7,
1,3,5,7,9};
№13 слайд![Отношение указателей и](/documents_6/14d66aa7b08aedc8634f9137375b400e/img12.jpg)
Содержание слайда: Отношение указателей и массивов
int A[5] = {1, 2, 3, 4, 5};
Массив хранит адрес, откуда начинаются его элементы
A[3] эквивалентно *(A + 3)
№14 слайд![Массивы как аргументы функций](/documents_6/14d66aa7b08aedc8634f9137375b400e/img13.jpg)
Содержание слайда: Массивы как аргументы функций
Массив всегда передается по ссылке! (Копирование потребовало бы расход памяти)
int zamena (int vec[10], int i, int k) {
for (int j = 0; j < 10; j++) {
if (j % k == 0) {
vec[j] = vec [i];
}
}
}
int main() {
int vector[10] = {1,2,3,4,5,6,7,8,9,10};
zamena (vector, 1, 3);
return 0;
}
№15 слайд![Массив указателей их](/documents_6/14d66aa7b08aedc8634f9137375b400e/img14.jpg)
Содержание слайда: Массив указателей их использование и инициализация
«Можно создавать массивы указателей. Для объявления массива целочисленных указателей из десяти элементов следует написать:
int *х[10];
Для присвоения адреса целочисленной переменной var третьему элементу массива следует написать:
х[2] = &var;
Для получения значения var следует написать:
*х [2] ».
Источник: [3]
№16 слайд![Массив указателей их](/documents_6/14d66aa7b08aedc8634f9137375b400e/img15.jpg)
Содержание слайда: Массив указателей их использование и инициализация
«Если необходимо передать массив указателей в функцию, можно использовать метод, аналогичный передаче обычных массивов. Просто надо вызвать функцию с именем массива без индексов. Например, функция, получающая массив х, должна выглядеть следующим образом:
void display_array(int *q[])
{
int t;
for (t=0; t<10; t++) {
printf ("%d ", *q[t]);
}
».
Источник: [3]
№17 слайд![Массив указателей их](/documents_6/14d66aa7b08aedc8634f9137375b400e/img16.jpg)
Содержание слайда: Массив указателей их использование и инициализация
«Надо помнить, что q - это не указатель на целое, а массив указателей на целые. Следовательно, необходимо объявить параметр q как массив целых указателей. Он не может объявиться как простой целочисленный указатель, поскольку он не является им».
Источник: [3]
№18 слайд![Строки и строковые функции](/documents_6/14d66aa7b08aedc8634f9137375b400e/img17.jpg)
Содержание слайда: Строки и строковые функции
Строки в С++ представляются как массивы элементов типа char, заканчивающиеся нуль-терминатором \0 называются С строками или строками в стиле С.
\0 — символ нуль-терминатора.
Символьные строки состоят из набора символьных констант заключённых в двойные кавычки. При объявлении строкового массива необходимо учитывать наличие в конце строки нуль-терминатора, и отводить дополнительный байт под него.
Источник: [4]
№19 слайд![Строки и строковые функции](/documents_6/14d66aa7b08aedc8634f9137375b400e/img18.jpg)
Содержание слайда: Строки и строковые функции
char string[10];
char string[10] = "abcdefghf"; //9 букв и \0
char string[10] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'f', '\0'};
Источник: [4]
№20 слайд![Строковые функции lt string.h](/documents_6/14d66aa7b08aedc8634f9137375b400e/img19.jpg)
Содержание слайда: Строковые функции <string.h >
№21 слайд![Список использованных](/documents_6/14d66aa7b08aedc8634f9137375b400e/img20.jpg)
Содержание слайда: Список использованных источников
1. https://prog-cpp.ru/c-pointers/
2. http://cpp.com.ru/kr_cbook/ch5kr.html#p52
3. http://www.c-cpp.ru/books/massivy-ukazateley
4. http://cppstudio.com/post/437/
№22 слайд![Спасибо за внимание!](/documents_6/14d66aa7b08aedc8634f9137375b400e/img21.jpg)
Содержание слайда: Спасибо за внимание!