Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
1

Почему при присваивании адреса массива не ставится знак '&' получения адреса

22.11.2015, 21:01. Показов 5801. Ответов 88
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    int a[2] = { 2, 3 };
    int* b;
    b = a; //Почему при присваивании адреса массива не ставится знак '&' получения адреса.
//А когда присваиваешь адрес отдельной переменной, то необходимо ставить этот знак.
//int a=2;
    int* b;
    b = &a;//
}
И ещё адрес массива из пяти элементов передаст указателю все пять элементов? От адреса первого [0] до адреса последнего [4]. То есть, после такого присвоения указатель будет иметь все 5 адресов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2015, 21:01
Ответы с готовыми решениями:

Операция получения адреса & и vector
Здравствуйте. Работает ли Операция получения адреса (&) в векторе? Просто есть пример в книги, но...

1. Ввести символьный массив. Найти адреса всех парных его элементов. 2. Вывести адреса элементов массива 4 на 4, находящ
Помогите пж... 1. Ввести символьный массив. Найти адреса всех парных его элементов. 2. Вывести...

Почему разные адреса одного и того же элемента динамического массива?
Я создаю динамический массив и отправляю его в функцию, если потом сравнивать адреса элементов...

Почему адреса элементов массива находятся в памяти не по порядку
Приветствую! Подскажите пожалуйста почему адреса элементов массива находятся в памяти не по...

88
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
27.11.2015, 12:20 81
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Mr.X Посмотреть сообщение
Мне вот другое интересно, почему даже при наличии типа array студенты массово используют в плюсах сишные массивы? Это же наверно от преподавателей исходит. А им это зачем?
1) Старые учебные материалы
2) Студенты должны учиться и с этим работать тоже
3) Не все преподы еще выползли из 80-ых
1
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
27.11.2015, 13:10 82
Croessmah, тут дело даже не в преподах. Вот ходил я к сыну на собрание в школу. Беседовал с учительницей по информатике. Будут учить Pascal. Я говорю "Зачем?" Куда потом с этим Паскалем? Почему не Python, не Ruby, не С++? Учительница говорит "Я Вас понимаю, но что я могу поделать? Нам вот какую программу министерство образования даёт (обязывает преподавать), такую мы и преподаём ученикам. Сказано Pascal, значит будем преподавать Pascal. Даже если мы знаем другие ЯП и можем, умеем и хотим преподавать их. Наши желания никого не интересуют. Есть программа обучения, одобренная министерством. Точка."

Добавлено через 1 минуту
Croessmah, хотя вот в вопросе std::array против сишных массивов, тут да, наверное, всё-таки в преподах дело. Как их учили, так и они учат. Инертность мышления. Привыкли, что учить C++ надо с сишных основ. В чём-то они правы. Хотя последнее время в учебной литературе по С++ наметилась тенденция вводить учащихся в курс дела сразу с классов.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
27.11.2015, 13:28 83
gru74ik
Да, выразился я резковато.
Тем не менее, чтобы использовать массивы в стиле C нужны ясные причины. Сначала средства С++, если не подошли -- средства С.
1
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
27.11.2015, 13:38 84
Цитата Сообщение от mporro Посмотреть сообщение
чтобы использовать массивы в стиле C нужны ясные причины.
Согласен.

Цитата Сообщение от mporro Посмотреть сообщение
Сначала средства С++, если не подошли -- средства С.
Согласен.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
27.11.2015, 13:40 85
Цитата Сообщение от gru74ik Посмотреть сообщение
тут дело даже не в преподах.
На самом деле всё сложнее и печальнее, чем вам в трёх словах сказали.

Раньше, до ЕГЭ, можно было преподавать любой вообще язык. С появлением ЕГЭ систему пришлось ужесточить: сейчас преподавать можно один из трёх языков: BASIC, Pascal, ANSI C -- именно на этих языках (или псевдокоде, который тоже очень распространён) предлагаются задания в ЕГЭ.

В ближайшее время будет ещё интереснее! Появится ЕГЭ по программированию со сдачей на машинах. Тогда все будут писать в специальной системе КУМИР, где мало фантазии, где код легко проверить. Везде будут учить работать с этой ерундой... Даже Pascal может отлететь. Хотя преподаватели сопротивляются, но система унификации экзаменов и стандартизации сертификации требует.
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
27.11.2015, 14:18 86
Цитата Сообщение от Mr.X Посмотреть сообщение
Не знаю что вы в них прекрасного видите. Мне кажется, на них легче плюнуть, чем изучать и использовать.
В lock-free структурах и алгоритмах без них тяжеловато будет
0
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
27.11.2015, 16:07 87
Цитата Сообщение от gru74ik Посмотреть сообщение
Будут учить Pascal. Я говорю "Зачем?" Куда потом с этим Паскалем? Почему не Python, не Ruby, не С++?
М-да, вы это серьезно насчет С++ в школе в качестве первого языка? Тут вот была тема про указатели, так выяснилось, что их вообще никто толком не знает. С С++ вообще забавная ситуация. Он и раньше был самым сложным языком программирования, но при этом в числе самых популярных, а с введением нового стандарта еще усложнился на порядок, и при этом остается в числе самых популярных. Страуструп точно волшебник!
А в качестве первого языка для изучения программирования и информатики Паскаль мне представляется идеальным. Здесь ему нет конкурентов.
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
27.11.2015, 16:17 88
Цитата Сообщение от Mr.X Посмотреть сообщение
А в качестве первого языка для изучения программирования и информатики Паскаль мне представляется идеальным. Здесь ему нет конкурентов.
Ну ок. Тут я спорить не стану. Мне просто казалось, что лучше сразу учить язык, который реально применяется в промышленной разработке программ (которым потом можно себе на жизнь зарабатывать). Скажем, тот же Python. Чем он плох в качестве первого языка?
0
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
27.11.2015, 16:32 89
Цитата Сообщение от gru74ik Посмотреть сообщение
Ну ок. Тут я спорить не стану. Мне просто казалось, что лучше сразу учить язык, который реально применяется в промышленной разработке программ (которым потом можно себе на жизнь зарабатывать).
Ну, язык для изучения программирования и язык для работы это, мне кажется, разные вещи, и не стоит их смешивать. А так-то программист должен всю жизнь какие-то языки учить, это как раз для него проблемой быть не должно.
1
27.11.2015, 16:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2015, 16:32
Помогаю со студенческими работами здесь

Ошибка получения ip-адреса
Всем доброго времени суток) Возникла проблема, вот, собственно она: имеется стационарник с прямым...

Определить тип получения IP-адреса
Доброго дня. Подскажите пожалуйста: Необходимо определить, получен ли ip адрес по DHCP или...

Почему при редактировании ip-адреса NetworkManager создаёт второе соединение?
На Ubuntu Sevrer 16.04 LTS поставил NetworkManager. Включил его. Перезагрузил. Отредактировал...

Получения адреса объекта вызвавшего события
Всем доброго дня уважаемые форумчане. Ситуация в следующим, во время выполнения программы...


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

Или воспользуйтесь поиском по форуму:
89
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru