Студопедия — int main()
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

int main()






{

const int M=50;

int i, m, S, Mas[M];

int *pMas;

pMas=Mas;

cout<<"Vvedite razmer massiva m:"<<endl;

cin>>m;

cout<<" Vvedite massiv:"<<endl;

for (i=0; i<m; i++, pMas++) cin>>*pMas;

cout<<endl;

S=0;

pMas=pMas-m;

for (i=0; i<m; i++, pMas++) S=S+*pMas;

pMas=pMas-m;

for (i=0; i<m; i++, pMas++) cout<<*pMas<<' ';

cout<<endl<<"S= "<<S<<endl;

}

Vvedite razmer massiva m:

Vvedite massiv:

1 2 3 4 5 6 7

1 2 3 4 5 6 7

S= 28

 

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

 

Вывод. В языке С++ есть возможность осуществлять непосредственный доступ к памяти. Для этого предусмотрен специальный тип переменных – указатели.

Указатель – это переменная, содержащая адрес некоторого объекта.

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

Указатели помогают осуществлять непосредственный доступ к памяти. Для того чтобы получить (прочитать) значение, записанное по адресу, который находится в указателе, используют операцию непрямого обращения или разыменования (*). Для этого используется имя указателя со звездочкой перед ним.

 

Вопросы для самоконтроля.

1. Что будет выдано на экран после выполнения программы unsigned int Var1 = 4000; cout << &Var1;?

1. Значение Var1, то есть 4000

2. Адрес, за которым записано значение Var1

3. Сообщение об ошибке

2. Укажите правильное определение указателя в С++.

1. *float pf;

2. float*pf;

3. float pf*;

3. Возможна ли такая инициализация указателя char ch = ‘y’; char *pch = &ch;?

1. Возможная

2. Не возможная

3. Такой конструкции в С++ нет

4. Какое значение примет y в программе

float x = 10.1, d; float * pf;

pf = &x; y = *pf;

1. y = 10.1

2. В переменную y запишется адрес, за которым находится значение х

3. Будет выдано сообщение об ошибке с указанием на последнюю строку

5. Можно ли в языке С++ выполнять арифметические операции над указателями?

1. Можно

2. Нельзя

3. Можно выполнять только операцию присвоения

6. Что определяет последний оператор в программе int и, mas[ и ]; int *pmas=mas;?

1. Разыменование указателя

2. Описание указателя

3. Описание указателя и присвоение ему начального адреса массива

7. Что означает запись int *px[7]?

1. Объявление указателя

2. Объявление массива указателей

3. Такую конструкцию в языке С++ использовать нельзя

8. Что определяет последний оператор в программе іnt *prt; prt= new int [100];?

1. Указателю prt присвоено значение 100

2. Указателю присвоен начальный адрес динамического массива

3. Указателю присвоено значение переменной new

9. Что будет выведено на экран дисплею после выполнения программы

int *prt;

for (i=0; i<100; i++) cout<<*(prt+i)<<” “;?

1. Значения элементов какого-то массива

2. Значения указателей

3. Такую конструкцию в языке С++ использовать нельзя

10. Укажите на возможность такого объявления указателя int ** pprt;

1. Возможно

2. Невозможно

3. Все зависит от содержания программы

11. На сколько байтов изменится значение pS1 в программе

int S1[20];

int *pS1=S1;

.....

pS1++;

.....

 

12. Каждой переменной программы память может выделяться статически. Этот процесс осуществляется при…

1. Наборе программы на экране дисплея

2. Компиляции программы

3. Выполнении программы

13. Переменным программы память может выделяться динамически. Этот процесс осуществляется при…

1. Наборе программы на экране дисплея

2. Компиляции программы

3. Выполнении программы

14. Выделение динамической памяти под переменную осуществляется с помощью оператора…

1. new

2. main

3. case

 

 







Дата добавления: 2015-06-12; просмотров: 356. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия