🗊Презентация Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей

Нажмите для полного просмотра!
Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №1Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №2Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №3Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №4Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №5Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №6Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №7Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №8Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №9Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №10Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №11Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №12Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №13Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №14Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №15Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №16Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №17Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №18Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №19Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №20Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №21

Содержание

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

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


Слайд 1






Указатель 
Массив и указатель
Арифметика для указателей
Описание слайда:
Указатель Массив и указатель Арифметика для указателей

Слайд 2





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

Слайд 3





Что такое указатель?
Указатель — это переменная, которая хранит адрес в памяти, по которому размещена другая переменная. 
Указатель служит для того, чтобы косвенно указывать на содержимое некоторого участка памяти и для получения доступа к нему.
Описание слайда:
Что такое указатель? Указатель — это переменная, которая хранит адрес в памяти, по которому размещена другая переменная. Указатель служит для того, чтобы косвенно указывать на содержимое некоторого участка памяти и для получения доступа к нему.

Слайд 4





Для объявления указателя сначала определяется тип переменной, на которую он  указывает,  затем следует символ * и имя указателя.
Для объявления указателя сначала определяется тип переменной, на которую он  указывает,  затем следует символ * и имя указателя.
char  *char_pointer;
В переменной char_pointer хранится адрес в памяти, по которому  располагается некоторая переменная типа char.
Описание слайда:
Для объявления указателя сначала определяется тип переменной, на которую он указывает, затем следует символ * и имя указателя. Для объявления указателя сначала определяется тип переменной, на которую он указывает, затем следует символ * и имя указателя. char *char_pointer; В переменной char_pointer хранится адрес в памяти, по которому располагается некоторая переменная типа char.

Слайд 5





Указатель всегда имеет одинаковый размер, не важно, на данные какого типа он ссылается. В конце концов, он содержит всего лишь адрес памяти, который имеет одинаковый размер для любого типа. Он зависит только от архитектуры процессора компьютера.
Указатель всегда имеет одинаковый размер, не важно, на данные какого типа он ссылается. В конце концов, он содержит всего лишь адрес памяти, который имеет одинаковый размер для любого типа. Он зависит только от архитектуры процессора компьютера.
 Для 32-разрядной архитектуры указатель занимает 32 бита, то есть 4 байта.
Описание слайда:
Указатель всегда имеет одинаковый размер, не важно, на данные какого типа он ссылается. В конце концов, он содержит всего лишь адрес памяти, который имеет одинаковый размер для любого типа. Он зависит только от архитектуры процессора компьютера. Указатель всегда имеет одинаковый размер, не важно, на данные какого типа он ссылается. В конце концов, он содержит всего лишь адрес памяти, который имеет одинаковый размер для любого типа. Он зависит только от архитектуры процессора компьютера. Для 32-разрядной архитектуры указатель занимает 32 бита, то есть 4 байта.

Слайд 6





Указатель, до инициализации содержит случайное значение. Неинициализированные указатели способны заставить вашу программу обратиться к недопустимой области памяти, приведя к аварийному отказу.
Указатель, до инициализации содержит случайное значение. Неинициализированные указатели способны заставить вашу программу обратиться к недопустимой области памяти, приведя к аварийному отказу.
Указатель инициализируют значением NULL. Наличие значения NULL можно проверить, и оно не может быть адресом области памяти:
int  *kurs= NULL;
Описание слайда:
Указатель, до инициализации содержит случайное значение. Неинициализированные указатели способны заставить вашу программу обратиться к недопустимой области памяти, приведя к аварийному отказу. Указатель, до инициализации содержит случайное значение. Неинициализированные указатели способны заставить вашу программу обратиться к недопустимой области памяти, приведя к аварийному отказу. Указатель инициализируют значением NULL. Наличие значения NULL можно проверить, и оно не может быть адресом области памяти: int *kurs= NULL;

Слайд 7





Адрес
Особая позиция в памяти  называется адресом. 
Позиции памяти в компьютере пронумерованы, за адресом скрыто некоторое число. Чтобы выяснить адрес переменной, используется символ  & (оператор ссылки).

char letter ;
char_pointer = &letter;
Описание слайда:
Адрес Особая позиция в памяти называется адресом. Позиции памяти в компьютере пронумерованы, за адресом скрыто некоторое число. Чтобы выяснить адрес переменной, используется символ & (оператор ссылки). char letter ; char_pointer = &letter;

Слайд 8





Косвенный доступ
После того, как указателю был присвоен адрес переменной, можно получить к ней доступ, если установить перед именем указателя символ  * (косвенный оператор)
Что выводится на экран?
char letter=‘A’ ;
char  *char_pointer;
char_pointer = &letter;
cout << *char_pointer;
Описание слайда:
Косвенный доступ После того, как указателю был присвоен адрес переменной, можно получить к ней доступ, если установить перед именем указателя символ * (косвенный оператор) Что выводится на экран? char letter=‘A’ ; char *char_pointer; char_pointer = &letter; cout << *char_pointer;

Слайд 9







С помощью символа * перед именем указателя четко обозначается, что обращение идет не к содержимому указателя, а к позиции в памяти, на которую ссылается указатель.
Описание слайда:
С помощью символа * перед именем указателя четко обозначается, что обращение идет не к содержимому указателя, а к позиции в памяти, на которую ссылается указатель.

Слайд 10


Язык программирования С++. Указатель. Массив и указатель. Арифметика для указателей, слайд №10
Описание слайда:

Слайд 11





Что выводится на экран?
Что выводится на экран?
int main()
{	int  *int_pointer = 0;
	int  intVar = 5;
 // указатель получает адрес переменной
int_pointer =  &intVar; 
//меняем содержимое intVar 
*int_pointer = 1;
intVar = *int_pointer + 1;
cout >>intVar;
}
Описание слайда:
Что выводится на экран? Что выводится на экран? int main() { int *int_pointer = 0; int intVar = 5; // указатель получает адрес переменной int_pointer = &intVar; //меняем содержимое intVar *int_pointer = 1; intVar = *int_pointer + 1; cout >>intVar; }

Слайд 12





Указатели появились, прежде всего, для нужд системного программирования. Поскольку язык Си предназначался для "низкоуровневого" программирования, на нем нужно было обращаться, например, к регистрам устройств. У этих регистров вполне определенные адреса, т.е. необходимо было прочитать или записать значение по определенному адресу. Благодаря механизму указателей, такие операции не требуют никаких дополнительных средств языка.
Указатели появились, прежде всего, для нужд системного программирования. Поскольку язык Си предназначался для "низкоуровневого" программирования, на нем нужно было обращаться, например, к регистрам устройств. У этих регистров вполне определенные адреса, т.е. необходимо было прочитать или записать значение по определенному адресу. Благодаря механизму указателей, такие операции не требуют никаких дополнительных средств языка.
Описание слайда:
Указатели появились, прежде всего, для нужд системного программирования. Поскольку язык Си предназначался для "низкоуровневого" программирования, на нем нужно было обращаться, например, к регистрам устройств. У этих регистров вполне определенные адреса, т.е. необходимо было прочитать или записать значение по определенному адресу. Благодаря механизму указателей, такие операции не требуют никаких дополнительных средств языка. Указатели появились, прежде всего, для нужд системного программирования. Поскольку язык Си предназначался для "низкоуровневого" программирования, на нем нужно было обращаться, например, к регистрам устройств. У этих регистров вполне определенные адреса, т.е. необходимо было прочитать или записать значение по определенному адресу. Благодаря механизму указателей, такие операции не требуют никаких дополнительных средств языка.

Слайд 13





Массивы и указатели
Указателем можно ссылаться на массив.
Для того чтобы поставить указатель на начало массива, надо написать:

int mas [4];
int  *mas_pointer = 0;

mas_pointer = mas;
//или
 mas_pointer= &mas[0];
Описание слайда:
Массивы и указатели Указателем можно ссылаться на массив. Для того чтобы поставить указатель на начало массива, надо написать: int mas [4]; int *mas_pointer = 0; mas_pointer = mas; //или mas_pointer= &mas[0];

Слайд 14





Операция & перед одиноким именем массива недопустима!
Операция & перед одиноким именем массива недопустима!
mas_pointer= &mas;// нельзя
«Родство»  указателей и массивов позволяет применять операцию * к имени массива: 

value = *mas; //означает то же самое, что и value = mas[0];
Описание слайда:
Операция & перед одиноким именем массива недопустима! Операция & перед одиноким именем массива недопустима! mas_pointer= &mas;// нельзя «Родство» указателей и массивов позволяет применять операцию * к имени массива: value = *mas; //означает то же самое, что и value = mas[0];

Слайд 15





В процессе присваивания указателю массива квадратные скобки можно опустить. При этом переменная-указатель будет вести себя так, словно она изначально была массивом. 
В процессе присваивания указателю массива квадратные скобки можно опустить. При этом переменная-указатель будет вести себя так, словно она изначально была массивом. 
Пример использования указателя в качестве переменной массива:
Указатель можно использовать в качестве переменной массива:

int mas [4];
mas_pointer = mas;
mas_pointer[2]=10;
Описание слайда:
В процессе присваивания указателю массива квадратные скобки можно опустить. При этом переменная-указатель будет вести себя так, словно она изначально была массивом. В процессе присваивания указателю массива квадратные скобки можно опустить. При этом переменная-указатель будет вести себя так, словно она изначально была массивом. Пример использования указателя в качестве переменной массива: Указатель можно использовать в качестве переменной массива: int mas [4]; mas_pointer = mas; mas_pointer[2]=10;

Слайд 16





Арифметика для указателей 

С указателями можно выполнять не только операции присваивания и обращения по адресу, но и ряд арифметических   операций.
Описание слайда:
Арифметика для указателей С указателями можно выполнять не только операции присваивания и обращения по адресу, но и ряд арифметических операций.

Слайд 17





Указатель можно:
Указатель можно:
 инкрементировать 
декрементировать
При этом к нему будет добавляться столько байт, сколько требует тип переменной, на которую он указывает. Указатель на начало массива при инкрементировании будет указывать на следующий элемент.
Описание слайда:
Указатель можно: Указатель можно: инкрементировать декрементировать При этом к нему будет добавляться столько байт, сколько требует тип переменной, на которую он указывает. Указатель на начало массива при инкрементировании будет указывать на следующий элемент.

Слайд 18





Пример: присвоить элементам массива 0
Описание слайда:
Пример: присвоить элементам массива 0

Слайд 19





Сложение и вычитание
Описание слайда:
Сложение и вычитание

Слайд 20





Следующее выражение указывает на два элемента позади того, на который ссылается указатель:
Следующее выражение указывает на два элемента позади того, на который ссылается указатель:
*(pointer+2) = 4;

pointer[2] = 4;
Это однозначные команды (получен доступ ко второму элементу, расположенному после начального).
Описание слайда:
Следующее выражение указывает на два элемента позади того, на который ссылается указатель: Следующее выражение указывает на два элемента позади того, на который ссылается указатель: *(pointer+2) = 4; pointer[2] = 4; Это однозначные команды (получен доступ ко второму элементу, расположенному после начального).

Слайд 21





Сравнение указателей
Указатели одного и того же типа можно сравнивать.

int x = 10; 	int y = 10; 
int* xptr = &x; 	int* yptr = &y; 
if (xptr == yptr) 	// сравниваем указатели
		{ cout << “равны"; } 	
		else { cout << "не равны"; } 
if (*xptr == *yptr) // сравниваем значения
		{ cout << “равны"; } 	
		else { cout << “не равны"; }
Описание слайда:
Сравнение указателей Указатели одного и того же типа можно сравнивать. int x = 10; int y = 10; int* xptr = &x; int* yptr = &y; if (xptr == yptr) // сравниваем указатели { cout << “равны"; } else { cout << "не равны"; } if (*xptr == *yptr) // сравниваем значения { cout << “равны"; } else { cout << “не равны"; }



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