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

Затруднения по динамическим переменным - C++

Восстановить пароль Регистрация
 
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,441
19.02.2016, 17:35     Затруднения по динамическим переменным #1
Всем привет!
Когда создаю динамическую переменную, то чтобы вывести ее значение, то пишу *переменная. Если выделяю массив, то обращаюсь без звёздочки. Почему без звездочки?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(int argc, char* argv[])
{
srand(time(NULL));
int n,i,j;
int *p=new int (6);
cout<<*p<<endl;
int *q=new int[6];
for(int i=0;i<6;i++)
q[i]=rand()%10;
for(int i=0;i<6;i++)
cout<<q[i]<<" ";
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2016, 17:35     Затруднения по динамическим переменным
Посмотрите здесь:

switch есть небольшие затруднения C++
C++ Затруднения с итерацией и подсчетом количеста функций
Проблема с динамическим массивом C++
Затруднения с Wise Installer"ом C++
C++ Затруднения в программе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
19.02.2016, 17:37     Затруднения по динамическим переменным #2
Цитата Сообщение от Supernatural Посмотреть сообщение
Почему без звездочки?
Цитата Сообщение от Supernatural Посмотреть сообщение
q[i]=rand()%10;
Это то же самое, что и
C++
1
*(q+i)=rand()%10;
Кстати, отсюда очевидно, что
C++
1
i[q]=rand()%10;
Тоже корректная запись.
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,441
19.02.2016, 17:56  [ТС]     Затруднения по динамическим переменным #3
zss, то есть
C++
1
int *p = new int (6);
это |4байта(32 ячейки памяти)|
C++
1
int *p = new int [6];
это |4байта(32 ячейки памяти)|4байта(32 ячейки памяти)|4байта(32 ячейки памяти)|4байта(32 ячейки памяти)|4байта(32 ячейки памяти)|4байта(32 ячейки памяти)|
&p хранит адрес 1го бита первого элемента массива
Все верно?
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
19.02.2016, 18:33     Затруднения по динамическим переменным #4
p - это адрес первого целого числа
p+1 - адрес второго целого числа
...
p+5 - адрес последнего целого числа
Yandex
Объявления
19.02.2016, 18:33     Затруднения по динамическим переменным
Ответ Создать тему
Опции темы

Текущее время: 14:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru