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

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

Войти
Регистрация
Восстановить пароль
 
Supernatural
286 / 142 / 28
Регистрация: 22.11.2010
Сообщений: 1,467
#1

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

19.02.2016, 17:35. Просмотров 108. Ответов 3
Метки нет (Все метки)

Всем привет!
Когда создаю динамическую переменную, то чтобы вывести ее значение, то пишу *переменная. Если выделяю массив, то обращаюсь без звёздочки. Почему без звездочки?
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++ Затруднения с итерацией и подсчетом количеста функций
Затруднения с Wise Installer"ом C++
C++ Затруднения в программе
Затруднения в составлении программы с условными операторами if.else.switch C++
Затруднения в составлении программы с условными операторами C++
C++ затруднения с ShowMessage
Затруднения с ответом по теоретической части C++
Затруднения с одномерным массивом( максимальное значение) C++
C++ Затруднения с циклом do-while
Затруднения с выводом системного времени в программе C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6245 / 5848 / 1891
Регистрация: 18.12.2011
Сообщений: 14,982
Завершенные тесты: 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
286 / 142 / 28
Регистрация: 22.11.2010
Сообщений: 1,467
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
Модератор
Эксперт С++
6245 / 5848 / 1891
Регистрация: 18.12.2011
Сообщений: 14,982
Завершенные тесты: 1
19.02.2016, 18:33     Затруднения по динамическим переменным #4
p - это адрес первого целого числа
p+1 - адрес второго целого числа
...
p+5 - адрес последнего целого числа
Yandex
Объявления
19.02.2016, 18:33     Затруднения по динамическим переменным
Ответ Создать тему
Опции темы

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