Реферат по предмету "Программирование"

Узнать цену реферата по вашей теме


Применение указателей в C++

Применение указателей в C++

Напишем следующую программу, которая использует
указатели. Предположим, что значение iNum1 равно 2, а адрес iNum1 — 1000. INum1
будет занимать байты с адресами 1000, 1001, 1002 и 1003. Если значение iNum2
было равно, то переменная iNum2 могла бы занимать ячейки с адресами 1004, 1005,
1006 и 1007. Следовательно, iNumI начинается с адреса 1000, а iNum2 начинается
с адреса 1004. Однако, хотя iNumI занимает четыре адреса, в С/С++ адресом iNumI
называется адрес 1000, а адресом iNum2 называется адрес 1004. Теперь объявим
две переменные как указатели — pNum1 и pNum2. Ваша цель состоит в том, чтобы
сохранить число 1000 (адрес iNumI) в pNum1 и число 1004 (адрес iNum2) в pNum2.

Внесите следующие изменения в main(void):

void main(void)

{

int iNum1;

int iNum2;

int iResult;

int* pNum1;

int* pNum2;

iNum1 = 2;

iNum2 = 3;

pNum1 = &iNum1;

pNum2 = &iNum2;

iResult = *pNum1 +
*pNum2;

cout

cout

}

Код, который вы ввели, объявляет три целых переменных:

int iNum1;

int iNum2 ;

int iResult;

Затем объявляются еще две переменные:

int* pNum1;

int* pNum2;

Обратите внимание, что в объявлении использована
запись int*. К какому же типу относится переменная pNum1? Можете ли вы
сохранить целое значение в pNum1? Нет. В pNum1 вы можете сохранить адрес
переменной типа int. Вы должны сохранить в переменной pNum1 число 1000,
поскольку 1000 является адресом iNum1. Точно так же вы должны сохранять адрес
целого значения и в переменной pNum2. После этого вы присваиваете значения
переменным iNum1 и iNum2:

iNum1 = 2;

iNum2 = 2;

Затем вы присваиваете значения переменным pNumI и
pNum2:

pNum1 = &iNum1;

pNum2 = &iNum2;

Эти два оператора сохраняют адрес переменной iNum1 в
pNum1 и адрес iNum2 в pNum2. Далее вам нужно вычислить результат сложения iNum1
с iNum2. Вы могли бы бы просто написать оператор

iResult = iNum1 + iNum2;

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

iResult = *pNum1 + *pNum2;

Когда вы используете указатель с предшествующим
символом *, вы извлекаете значение, хранящееся по данному адресу. *pNum1 — это
то же, что и *1000, так что программа обращается к значению, хранящемуся по
адресу 1000. Поскольку переменная pNum1 была объявлена как int* (а компилятор
знает, что целое значение занимает четыре байта памяти), программа обращается к
адресам 1000, 1001, 1002 и 1003. Она находит по этим адресам значение 2, так
как *pNum1 равно 2. Аналогично, *pNum2 равно 3, поскольку pNum2 равно 1004, а
ячейки памяти 1004, 1005, 1006 и 1007 содержат целое со значением. И, наконец,
выполняется оператор cout, который выводит на экран значение переменной iResult:

cout

cout

Сохраните свою работу, выполните компиляцию и
компоновку программы. Запустите программу и убедитесь, что значение iResult
равно 5 (2+3=5).
Список литературы

Для подготовки данной работы были использованы
материалы с сайта http://www.realcoding.net


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Доработать Узнать цену написания по вашей теме
Поделись с друзьями, за репост + 100 мильонов к студенческой карме:

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Использование средств наглядности на уроках математики в начальных классах
Реферат Страны Северной Европы (Финляндия, Швеция, Норвегия, Дания, Исландия) во второй половине ХХ века
Реферат Развитие творческого воображения посредством пейзажной живописи в учреждениях дополнительного образования
Реферат Развитие математических способностей учащихся в процессе внеклассной работы по математике в начальной школе
Реферат Oedipus Essay Essay Research Paper Oedipus EssayFateSophocles
Реферат Oedipus Rex Essay Research Paper In the
Реферат Народ и личность в романе Толстого Война и мир 2
Реферат И.В. Сталин - исторический портрет
Реферат Назначение поэта в лирике Пушкина
Реферат Oedipus Rex And Bliss Is Ignorance Essay
Реферат Настоящий писатель то же, что древний пророк он видит яснее, чем обычные люди по повести Булгакова
Реферат Oedipus Essay Research Paper Oedipus EssaySophocles Oedipus
Реферат Наводнение
Реферат Конвертер программы с подмножества языка Си в Паскаль с использованием LL(1) метода синтаксического анализа
Реферат Oedipus Trilogy Analysis Essay Research Paper Novel