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

Указатели :) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверьте правильность кода. Почему выдаёт ошибку? http://www.cyberforum.ru/cpp-beginners/thread250810.html
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте. Текст программы #include "stdafx.h" #include...
C++ закрытие программы Здравствуйте господа програмисты!у меня такой вопрос-допустим известно что открыта какая то программа,могу ли я её програмно закрыть если да,то как? Всем заранее огромное спасибо!!! Добавлено... http://www.cyberforum.ru/cpp-beginners/thread250794.html
C++ Определить, пересекаются ли прямая и окружность
Задана окружность с центром в точке О(x0,y0) и радиусом R и прямая у=ах+b. Определить, пересекаются ли прямая и окружность. При положительном ответе найти точки пересечения
Задание на C C++
Ребята помогите решить задание.
C++ Сформировать одномерный массив целых чисел, используя датчик случайных чисел http://www.cyberforum.ru/cpp-beginners/thread250778.html
Условие такое 1.Сформировать одномерный массив целых чисел, используя датчик случайных чисел. Распечатать полученный массив. 2.Удалить 5 последних элементов массива. 3.Добавить в начало массива...
C++ Матрицы и строки Прошу помочь с решением задач: С клавиатуры вводится матрица размером n x m: 1)Вычислить сумму всех чисел кратных трем в этой матрице и заменить максимальный элемент на эту сумму. 2)Заменить все... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.03.2011, 01:27
Цитата Сообщение от dimon1984 Посмотреть сообщение
Вроде понимаю что такое указатели
в том-то и дело, что вроде...
Начать с того, что на самом деле указатель - это переменная, способная хранить адрес другой переменной.

Цитата Сообщение от dimon1984 Посмотреть сообщение
к примеру int* x = &y это в "x" тоже значение, что и в "y"
В x никак не может быть то же значение, что и в y. В x хранится адрес переменной y. Т.е. значением x является адрес в памяти, по которому расположены данные, записанные в y.

Цитата Сообщение от dimon1984 Посмотреть сообщение
К примеру как назначить указатель на двумерный массив?
Стандартный двумерный массив не является массивом указателей, поэтому присвоить m двойному указателю не получится. Присвоение должно быть таким:
C++
1
2
char m[2][6] = {"hello", "world"};
char (*ptr)[6] = m;
Вторая строка означает: мы объявляем указатель ptr на массив из 6 элементов (если менее строго - массив массивов из 6 элементов) и связываем его с m.
Выводить тогда следует так:
C++
1
std::cout << m[0] << ", " << m[1] << "!" << std::endl;
Т.е. сначала вывели 1 строку, потом вторую. Вывести сразу обе не получится.

Цитата Сообщение от dimon1984 Посмотреть сообщение
И обьясните плиз про синтаксис **
Тут по аналогии с простым указателем. Если указатель - это переменная, способная хранить адрес другой переменной, то указатель на указатель - это переменная, способная хранить адрес указателя.
Какая здесь связь с двумерным массивом? А вот какая. По сути двумерный массив можно представить как массив указателей, каждый из которых указывает на массив. Т.о. мы получаем массив, элементами которого являются объекты не числовых (или определённых пользователей) типов, а указатели. Отсюда имеем одну звезду в имени переменной. Но нам и сам этот массив указателей надо определить, он ведь тоже должен быть расположен где-то в памяти, и на него тоже что-то должно указывать. Отсюда имеем вторую звезду. Получаем, что (если имеем int **ptr; ) ptr указывает на область памяти, в которой могут лежать элементы типа int * (откинули первую звезду). И каждый из этих элементов указывает на область памяти, в которой могут лежать элементы типа int (откинули вторую звезду). Таким же образом можно представить массивы больших размерностей.

Добавлено через 4 минуты
Цитата Сообщение от dimon1984 Посмотреть сообщение
и что значит такой синтаксис? *(*...)
Уточните. Он много что может значить, в зависимости от контекста. Какой конкретно вариант вас интересует?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru