Форум программистов, компьютерный форум CyberForum.ru

Объясните работу указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переставить значения заданного одномерного массива http://www.cyberforum.ru/cpp-beginners/thread1306515.html
Помогите, пожалуйста, справиться с задачей! Нужно переставить значения заданного одномерного массива так, чтобы все нулевые значения оказались в конце массива, а ненулевые в начале. не нарушая порядок, в котором они следовали в исходном массиве.
C++ Написать функцию вычисления корней квадратного уравнения Напишите функцию вычисления корней квадратного уравнения. Про-грамма должна принимать от пользователя коэффициенты, вызывать функцию, а затем выводить полученный результат. Параметрами функ-ции должны быть коэффициенты и корни уравнения. Такие аргументы как корни уравнения необходимо передавать по ссылке. Значение, воз-вращаемое функцией, должно передавать в вызывающую программу ин-формацию о... http://www.cyberforum.ru/cpp-beginners/thread1306514.html
Заменить на 0 элементы массива C++
только начал изучать програмирование на C++. Заменить на 0 элементы массива, расположенные справа от наибольшего. все данные целого типа, размер массива 10 чтение данных осуществлять из файла запись необходимой информации осуществлять в файл. заранее спасибо за помощь!
Уменьшить все элементы массива на минимальный используя функцию C++
Помогите найти ошибки в программе. Дан одномерный массив из 10 вещественных чисел. Требуется преобразовать массив, уменьшив все элементы массива на минимальный элемент этого массива. Алгоритм обработки массива оформить как подпрограмму. Данные в подпрограмму передавать только через параметры функции. Саму подпрограмму поместить в другой файл. Исходный массив и результаты вывести на...
C++ Написать функцию, которая переворачивает строку http://www.cyberforum.ru/cpp-beginners/thread1306501.html
1) Напишите функцию, которая переворачивает строку (массив типа char). Используйте цикл for, который меняет местами первый и последний сим-волы, затем следующие и т.д. Строка должна передаваться в функцию как аргумент. Напишите программу, которая должна принимать от пользова-теля строку (содержащую более одного слова), вызывать функцию, а за-тем выводить полученный результат.
C++ Работа с двухмерным динамеческим массивом через указатель Натупил здесь наверное сильно, подскажите ребят, а то долго уже сиджу над этим... Где ошибки? Программу компилирует, но потом выбивает. #include <stdio.h> #include <time.h> #include <stdlib.h> #include <math.h> int main() { srand(time(NULL)); подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.11.2014, 10:29     Объясните работу указателей
Цитата Сообщение от serega006 Посмотреть сообщение
&n; // &-используется для определения адреса по имени, т.е. приравниваем переменной p адрес?
&n - это взятие адреса переменной n, переменной p присваивается этот адрес, то есть выполняется операция, в результате которой значение переменной p становится равной адресу, взятому выражением &n.

Добавлено через 55 секунд
Цитата Сообщение от serega006 Посмотреть сообщение
(*p)++; // почему эта операция происходит раньше p = &n и q = p?
Не раньше, а позже.

Добавлено через 3 минуты
Цитата Сообщение от serega006 Посмотреть сообщение
cout << *q << endl; // здесь мы получаем 101 cout << n << endl; // тоже 101
Ну правильно. Ты же в
C++
1
(*p)++;
разыменовал указатель выражением *p, а потом оператором ++ увеличил значение переменной, которая лежит по этому адресу. А там лежит переменная n. Если бы
C++
1
(*p)++;
выполнилась до
C++
1
p=&n;
, то n бы была рана 100, а если вообще до какого либо присваивания адреса переменой p, то получим фатальный егог.
 
Текущее время: 23:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru