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

Понять указатели:) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распечатать введенную строку, удалив из неё слова с нечетными номерами и добавив перевернутое слово к слову с четными номерами. http://www.cyberforum.ru/cpp-beginners/thread254809.html
Распечатать введенную строку, удалив из неё слова с нечетными номерами и добавив перевернутое слово к слову с четными номерами. Например, из строки: "во что бы то ни стало" Должно получиться:...
C++ Представить число в виде многочлена Дано натуральное число А. Надо составить программу (С++), которая представляет его в виде многочлена. Например, 123 ==> 1 * 10 ^ 2 + 2 * 10 ^ 1 + 3 * 10 ^ 0. /*fizmat goroda Kamenets-Podolsky... http://www.cyberforum.ru/cpp-beginners/thread254798.html
C++ Указатели на структуры!
Захватить память для массива из 10 структур. Заполните массив данными из файла "1.dat". Вывести информацию о маршрутах, имеющих определенный пункт в качестве начального или конечного. Высчитать для...
C++ Вычислить период последовательности
Подскажите, как вычислить период последовательности. Как я понимаю, поместить сперва элементы в массив, и уже в нем считать период? ... long t, k, p, a, c, n=20; // p - Xo, t, k - Xn, int...
C++ Определите класс «Студент» http://www.cyberforum.ru/cpp-beginners/thread254763.html
Помогите пожалуйста с задачей Определите класс «Студент».Методы – перевод на следующий курс, выпуск, отчисление. Разработать дружественную классу «Студент» функцию, определяющую знак зодиака,...
C++ решить функцию Всем привет! помогите пожалуйста решить задачки на Borland C Буду крайне признательна! Заранее спасибо! подробнее

Показать сообщение отдельно
dimon1984
40 / 38 / 0
Регистрация: 22.01.2011
Сообщений: 670
10.03.2011, 19:00
так же дополню
C++
1
2
3
4
5
6
7
8
9
void real_swap(int *a, int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
 
    printf("Реальный обмен местами:\ta = %d\tb = %d\n", *a, *b);
}
... real_swap(&a, &b);
Здесь указатели как бы указавают, где находятся переменные в памяти, чтобы можно было их изменить.
C++
1
2
3
4
5
6
7
8
void image_swap(int a, int b)
{
    int temp = a;
    a = b;
    b = temp;
 
    printf("Мнимый обмен местами:\ta = %d\tb = %d\n", a, b);
}
а здесь a,b в функции это не те же самые переменные.
Реальные переменные a,b из main соприкасаются с функцией в момент вызова функции
image_swap(a, b);
при этом создаётся копия значений a,b , и в функции уже совсем другие переменные, которые уничтожатся при выходе из функции, а про реальные переменные эта функция и не знает, где они находятся. Поэтому и не может их изменить.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.