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

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

Войти
Регистрация
Восстановить пароль
 
Zidane Tribal
0 / 0 / 0
Регистрация: 27.06.2013
Сообщений: 5
#1

Разница между объявлениями указателей - C++

12.12.2013, 18:56. Просмотров 332. Ответов 8
Метки нет (Все метки)

Есть такое:
C++
1
int *p;
и такое:
C++
1
int *p = new int;
Поясните, пожалуйста, в чём разница между этими объявлениями указателей?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 18:56     Разница между объявлениями указателей
Посмотрите здесь:

Разница между объявлениями указателя - C++
Часто вижу, при создании объекта класса, создают указатель на объект #include <iostream> using namespace std; class...

Какая разница между разными объявлениями объектов? - C++
чет 4 месяца не писал на С++ а писал на сшарпе немного. Но вот вернувшись к С++ чет вылетело с головы. Какая разница между обвявлением...

Указатели на массивы: В чем принципиальное различие между объявлениями указателей? - C++
Вопрос по теории В чем принципиальное различие между данными обьявлениями? (+ правильно ли я понимаю, что 1и2, 3и4 это синонимы?) ...

Объяснить разницу между объявлениями массивов - C++
Добрый. Расскажите в чем разница между: double **MatrixA; double *MatrixA; double MatrixA;

вчем разница между с++ и ++с - C++
Не как него могу понять в чем разница между с++ и ++с ? с - счетчик. просто пример: int main() { int c = 0; // счетчик int k; ...

Разница между T **a и T *a[const_size] - C++
T c_a; // Здесь тип c_a это T(*) T **d_a = (T**) malloc(sizeof(T) * size); for (i = 0; i < size; ++i) { d_a = (T*)...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
12.12.2013, 19:10     Разница между объявлениями указателей #2
В первом случае указатель надо приравнять нулю чтобы не указывал неизвестно куда
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
12.12.2013, 19:18     Разница между объявлениями указателей #3
1. Не инициализированный указатель.
2. Указатель, инициализированный выделенной областью памяти под значение типа int
Bino321
2 / 2 / 0
Регистрация: 22.11.2013
Сообщений: 33
12.12.2013, 19:21     Разница между объявлениями указателей #4
Во втором случае указатель указывает на только что созданную интовую переменную. А в первом - создан просто сам указатель... Типа как по аналогии
1)int a;
2)int a=1;
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
12.12.2013, 19:53     Разница между объявлениями указателей #5
Цитата Сообщение от castaway Посмотреть сообщение
1. Не инициализированный указатель.
Если глобальная переменная, то инициализируется нулем.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
12.12.2013, 19:56     Разница между объявлениями указателей #6
Цитата Сообщение от Zidane Tribal Посмотреть сообщение
int *p = new int;
два в одном. объявление + инициализация
ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
12.12.2013, 19:58     Разница между объявлениями указателей #7
Цитата Сообщение от Zidane Tribal Посмотреть сообщение
Есть такое:
C++
1
int *p;
и такое:
C++
1
int *p = new int;
Поясните, пожалуйста, в чём разница между этими объявлениями указателей?
Первый указатель - это указатель, которому потом нужно будет присвоить память, то, на что он указывает.
Пока этого не сделаешь, работать с ним нельзя. Ему можно дать адрес любого int или выделить под него память new.
Второй указатель уже поставлен на адрес памяти в куче, с ним уже можно работать, давать какое-то значение, выводить на экран...Но не забудь, что потом память нужно будет освободить)))))
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
12.12.2013, 21:58     Разница между объявлениями указателей #8
Croessmah, сильно сомневаюсь.

Добавлено через 13 минут
...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 22:34     Разница между объявлениями указателей
Еще ссылки по теме:

Разница между DEV и VS - C++
Подскажите пожалуйста в чем проблема, писал задания на DEV C++, теперь начал работать на VS, но они не работают там.

Разница между char и int - C++
Известно что для чар выделяется 1 байт (8 бит) для инт 4 байта (32 бита). Так почему нельзя в чар присвоить 10 и больше до 255 в виде...

Какая Разница между сортировками? - C++
Какая разница между сортировками, если в итоге все виды сортируют одинаково. Т е. Результат одинаковый

Цикл For, Разница между знаками - C++
Первый вариант: for(int i(0); i < N; i++) Второй вариант: for(int i = 0 ; i < N; i++) Оба варианта работают идентично, но препод...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
12.12.2013, 22:34     Разница между объявлениями указателей #9
Цитата Сообщение от castaway Посмотреть сообщение
Croessmah, сильно сомневаюсь.
Цитата Сообщение от 3.6.2.2
Variables with static storage duration (3.7.1) or thread storage duration (3.7.2) shall be zero-initialized (8.5) before any other initialization takes place.
указатель это скалярный тип
Цитата Сообщение от 8.5.5
To zero-initialize an object or reference of type T means:
— if T is a scalar type (3.9), the object is set to the value 0 (zero), taken as an integral constant expression, converted to T;
Yandex
Объявления
12.12.2013, 22:34     Разница между объявлениями указателей
Ответ Создать тему
Опции темы

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