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

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

Войти
Регистрация
Восстановить пароль
 
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
#1

вопрос про указателей - C++

02.11.2009, 15:32. Просмотров 756. Ответов 13
Метки нет (Все метки)

вот напр эта строка
C++
1
int *m=new int[size];
это как я понял создается указатель?тогда что такое new int?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2009, 15:32     вопрос про указателей
Посмотрите здесь:

Вопрос насчет указателей - C++
Объясните мне пожалуйста, что значит подобное объявление: const SimpleCat * const FunctionTwo (const SimpleCat * const TheCat); ...

Ещё раз про использование указателей - C++
Здравствуйте! Проблема многих новичков, не перестроился мог на ссылки и указатели в С++. Много прочитал, просмотрел, чужие примеры...

Вопрос про цикл for - C++
Скажите, а есть ли какая-то разница в записях: for (int i=0; i<n; i++) и for (int i=0; i<n; ++i) Спасибо.

Вопрос про mkdir - C++
У меня уже есть идея реализации но мне кажется есть способ проще! И так к делу вот часть кода точнее строчка WinExec("cmd /c mkdir...

Вопрос про outtextxy() - C++
Если в графическом режиме выводить текст с помощью функции outtextxy() поверх другого текста, то новый текст сливается со старым. Прошу...

вопрос про new из с++ за 21 день - C++
контрольный вопрос: что возвращает оператор new, когда для создания объекта нет достаточно памяти7 Добавлено через 12 минут еще...

Вопрос про цикл. - C++
Добрый день. Попал в тупик, не знаю как закрутить cin>> в цикл подскажите пожалуйста:). Вот собственно задание: Написать функцию,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stalmir
Сообщений: n/a
02.11.2009, 15:38     вопрос про указателей #2
Сам по себе указатель после опреденеия ни на что не указывает. new int означает что из кучи будет выделена память на которую и будет указывать m.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.11.2009, 15:44     вопрос про указателей #3
new int - (new) оператор,который выделяет динамически память для хранение переменной типа int. В твоем примере написано new int[size] - значит выделяет память не под переменную типа int, а под массив переменных типа int (массив размером size). Этот оператор возвращает адрес выделенной памятия, который присваивается указателю m.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
02.11.2009, 15:49  [ТС]     вопрос про указателей #4
valeriikozlov,
stalmir, спасибо
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
02.11.2009, 15:52     вопрос про указателей #5
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Этот оператор возвращает адрес выделенной памятия, который присваивается указателю m.
Точнее возвращает адрес первого элемента массива
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.11.2009, 16:00     вопрос про указателей #6
Цитата Сообщение от ISergey Посмотреть сообщение
Точнее возвращает адрес первого элемента массива
Согласен. Просто в этом случае адрес выделенной памяти и есть адрес первого элемента массива.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
02.11.2009, 20:01  [ТС]     вопрос про указателей #7
Цитата Сообщение от ISergey Посмотреть сообщение
Точнее возвращает адрес первого элемента массива
почему именно первого??я что не тяну до программера....
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.11.2009, 20:46     вопрос про указателей #8
любая выделенная память имеет свое начало и свой конец. адрес начала выделенной памяти совпадает с адресом первого элемента массива (т.к. все элементы идут по порядку)
PS: пытаюсь доступно объяснить
audiophile
9 / 9 / 0
Регистрация: 01.11.2009
Сообщений: 67
02.11.2009, 20:51     вопрос про указателей #9
Цитата Сообщение от МедведЪ Посмотреть сообщение
почему именно первого??я что не тяну до программера....
Первого, т.е. нулевого, если вы вдруг подумали, что он ведет на mas[1]. Нет, он ведет на mas[0], где хранится первый элемент массива.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
02.11.2009, 21:29  [ТС]     вопрос про указателей #10
Цитата Сообщение от audiophile Посмотреть сообщение
Первого, т.е. нулевого, если вы вдруг подумали, что он ведет на mas[1]. Нет, он ведет на mas[0], где хранится первый элемент массива.
ааа ок ок врубил ахахспасибо бльшое,а еще вопрос,а почему не а последнего а на первого?Оо...просто интересно
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
02.11.2009, 21:33     вопрос про указателей #11
Цитата Сообщение от МедведЪ Посмотреть сообщение
а почему не а последнего а на первого?Оо...просто интересно
Наверно мало смысла в таком выделении памяти. Ты просил 512 байт, а тебе дали указатель на конец этого участка памяти, ну и при попытке туда что-то записать рискуешь вылететь за пределы допустимого адресного пространства.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
02.11.2009, 21:59  [ТС]     вопрос про указателей #12
Цитата Сообщение от Gravity Посмотреть сообщение
Наверно мало смысла в таком выделении памяти. Ты просил 512 байт, а тебе дали указатель на конец этого участка памяти, ну и при попытке туда что-то записать рискуешь вылететь за пределы допустимого адресного пространства.
глупые у меня вопросы
ISergey
03.11.2009, 01:29
  #13

Не по теме:

Цитата Сообщение от МедведЪ Посмотреть сообщение
глупые у меня вопросы
Есть немного..

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2009, 18:58     вопрос про указателей
Еще ссылки по теме:

Вопрос про наследование. - C++
Добрый день всем! Возможно ли создать производный класс в который будут помещены 2 объекта базового класса с возможностью...

Вопрос про __function - C++
вопрос глупый, но все же: зачем в названии функциях пишут две __ - void __Plus(int a); - пример int __Display(int b) это для красоты...

Вопрос про Swich - C++
Пример: int i=2; switch (i) { case 1: i += 2; case 2: i *= 3; case 0: i /= 2; case 4: i -= 5; default: ; } Выполнение оператора...

Вопрос про friend - C++
Вот мой код. #include<iostream> using namespace std; class Bottle; class Carton { public: Carton(const Bottle& xBottle) {...

Вопрос про память... - C++
Вот скажите пожалуйста в чем разница между int *p = new int; *p = 10; и int n = 10; не могу понять )


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

Или воспользуйтесь поиском по форуму:
blackswan
12 / 12 / 0
Регистрация: 08.07.2009
Сообщений: 61
03.11.2009, 18:58     вопрос про указателей #14
Цитата Сообщение от МедведЪ Посмотреть сообщение
ааа ок ок врубил ахахспасибо бльшое,а еще вопрос,а почему не а последнего а на первого?Оо...просто интересно
если уж совсем вдаваться в подробности, то машина не знает, что такое первый(нулевой) и последний элемент в памяти. Физически выделенная последовательность может быть представлена как угодно, всё зависит от архитектуры конкретного ЭВМ, бывает, что память читается слева направо, бывает, что справа налево. Есть правило старшинства байтов, битов (или других элементов). В одних машинах (или системах) big-endian,в других little-endian порядок. http://ru.wikipedia.org/wiki/%D0%9F%...82%D0%BE%D0%B2 . Обычно это не имеет значения, однако при совместной работе нужно это учитывать, а также помнить, что это имеет значение, если производить манипуляции с типами данных более 1 байта.
Так что правильнее говорить "начало" последовательности.

Цитата Сообщение от Gravity Посмотреть сообщение
Наверно мало смысла в таком выделении памяти. Ты просил 512 байт, а тебе дали указатель на конец этого участка памяти
ну есть один случай... так присваивается стек.
Yandex
Объявления
03.11.2009, 18:58     вопрос про указателей
Ответ Создать тему
Опции темы

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