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

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

16.06.2010, 00:51. Просмотров 1763. Ответов 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 , остальные функции не вызывают недоумения
объясните, пожалуйста, кто знает
спасибо!
http://www.cyberforum.ru/cpp-beginners/thread373423.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2010, 00:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Указатели, адресная арифметика и передача аргументов функций по значению и по ссылке (C++):

Передача аргументов в функции по ссылке
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

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

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

Константные указатели в качестве аргументов функций
Вскрылся вот такой пробел в знаниях/понимании. Итак, есть предположим...

Передача по ссылке и по значению
Эта тема стара как мир, но я хотел уточнить одну вещь. QBluetoothAddress*...

1
Mur3ik
102 / 102 / 23
Регистрация: 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
Привет! Вот еще темы с решениями:

Передача данных по значению и по ссылке
Всем привет! Помогите плз разобраться в передаче данных в качестве...

Конструкторы копирования, передача по ссылке и значению
Здравствуйте! Вопрос: существует конструктор копирования, которые принимает...

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

Передача std::string по константной ссылке \ значению
Суть вопроса: есть простенький словарь с std::vector в качестве приватного...


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

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

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