Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
lana666
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 1
#1

Указатели, адресная арифметика и передача аргументов функций по значению и по ссылке - C++

16.06.2010, 00:51. Просмотров 1736. Ответов 1
Метки нет (Все метки)

Подскажите, пожалуйста, как решить такую задачу вручную. На экзамене предложат задание такого типа НА БУМАГЕ, и надо будет написать, что выдаст машина


Задание.
Что будет выведено в результате работы следующей программы?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void funct0 () {
int m = 131169;
int A = *((short *)(&m));
int B = *((short *)(&m)+1);
int C = ((short *)(&m))[0] * ((short *)(&m))[1];
cout << "A=" << A << " B=" << B << " C=" << C << endl;
}
void funct1 (int& a, int b) { a = 5; b = 10; }
void funct2 (int *p) { *p = 15; }
int funct3 (int *a, int& b) { return *a+b++; }
void main () {
int m(10), n(10);
funct0 ();
funct1 (m,n);
funct2 (&n);
m = funct3 (&m, n);
n = funct3 (&n, m);
cout << m << "   " << n << "    " << "M+N=" << (m+n) << endl;
 
_getch();
};
Добавлено через 11 минут
Больше всего интересует принцип работы funct0 , остальные функции не вызывают недоумения
объясните, пожалуйста, кто знает
спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2010, 00:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели, адресная арифметика и передача аргументов функций по значению и по ссылке (C++):

Помогите разобраться(С)Cпособы передачи аргументов в вызываемые функции: по значению, указателю и ссылке - C++
Вычисление текущих значений Y(x) и S(x) (где x принадлежит диапазону ) реализовать в виде отдельных функций. При выполнении задания...

Передача аргументов в функции по ссылке - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; using namespace std; const...

Передача аргументов по значению - C++
как сделать что бы все аргументы передавались по значению то есть что бы содержимым параметров являлись копии значений соответствующих...

Передача аргументов в функцию по ссылке и указателю - C++
Чем отличается передача по ссылке от передачи по указателю аргументов в функцию?

Передача по ссылке и по значению - C++
Эта тема стара как мир, но я хотел уточнить одну вещь. QBluetoothAddress* address = new QBluetoothAddress(&quot;00:1A:7D:DA:71:15&quot;); ...

Константные указатели в качестве аргументов функций - C++
Вскрылся вот такой пробел в знаниях/понимании. Итак, есть предположим однонаправленный список (в общем без разницы что). struct TNode {...

1
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
16.06.2010, 01:12 #2
C++
1
int A = *((short *)(&m));//берется ссылка на переменную &m и преобразуется в указатель с типом шорт после чего разименовывается и присваеивается
далее в том же духе (&m)+1); означает тоже самое что и [1] - то бишь сдвиг адреса. все остальное по аналогии
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2010, 01:12
Привет! Вот еще темы с ответами:

Передача данных по значению и по ссылке - C++
Всем привет! Помогите плз разобраться в передаче данных в качестве параметров функции. *var и &amp;var в чем между ними разница,...

Передача std::string по константной ссылке \ значению - C++
Суть вопроса: есть простенький словарь с std::vector в качестве приватного поля. struct StudentGrade { std::string name; char...

Передача параметров в функцию по значению, по ссылке и по указателю - C++
Доброе время суток товарищи программисты. Столкнулся с кучей ошибок в написании простой программы. Задача заключается в том чтобы написать:...

Передача параметров функции по значению, ссылке и указателю - C++
Вычислить F=f(a)-5f^3(sin(b/2))+1/f(1+c^4), де f(x)=3x^2-2x^2+7, при a=5.08, b=-0.65, c=3.87 Добавлено через 45 минут #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.