12 / 12 / 3
Регистрация: 27.07.2012
Сообщений: 208
|
||||||
1 | ||||||
Копирование одного массива в другой28.07.2012, 13:49. Показов 55923. Ответов 22
Метки нет (Все метки)
Всем добрый день. Насколько мне известно использование имени массива без индекса образует указатель на первый элемент массива. В программе я кладу в 1 указатель адрес, который лежит в другом указателе. Но получается ошибка. Почему?
0
|
28.07.2012, 13:49 | |
Ответы с готовыми решениями:
22
Копирование одного массива в другой Копирование элементов из одного массива в другой Копирование строк из одного массива в другой Копирование данных из одного массива в другой |
60 / 60 / 8
Регистрация: 15.10.2010
Сообщений: 356
|
|
28.07.2012, 13:53 | 2 |
Да вроде все верно...
Какая ошибка? Чего пишет?
0
|
12 / 12 / 3
Регистрация: 27.07.2012
Сообщений: 208
|
|
28.07.2012, 13:57 [ТС] | 3 |
выражение должно быть допустимым для изменения левосторонним значением
Добавлено через 1 минуту Суть в том, что как я понял массивы нельзя копировать друг в друга с помощью операции присваивания. Нужно использовать поэлементное копирование. Почему так?
0
|
79 / 79 / 8
Регистрация: 14.10.2009
Сообщений: 121
|
|
28.07.2012, 14:01 | 4 |
second это массив, а не указатель.
Нельзя ему присвоить никакое другое значение.
0
|
12 / 12 / 3
Регистрация: 27.07.2012
Сообщений: 208
|
|
28.07.2012, 14:04 [ТС] | 5 |
second это указатель на первый элемент массива
0
|
60 / 60 / 8
Регистрация: 15.10.2010
Сообщений: 356
|
||||||
28.07.2012, 14:05 | 6 | |||||
Думаю, такое вот выражение должно сработать.
Возможно, так написано в стандарте =) А возможно, это потому что массив не является явным указателем и в случае успеха получится, что на один участок памяти ссылается 2 массива, что не есть хорошо. Другое дело с указателем... Мне кажется так.
0
|
60 / 60 / 8
Регистрация: 15.10.2010
Сообщений: 356
|
|
28.07.2012, 14:08 | 8 |
И вообще, под массивом подразумевается некий константный участок памяти, который имеет фиксированный размер. 2 массива имеют 2 разных участка памяти. При попытке "копирования", вы пытаетесь совместить эти два участка. Это неверно.
1
|
12 / 12 / 3
Регистрация: 27.07.2012
Сообщений: 208
|
|
28.07.2012, 14:11 [ТС] | 9 |
Да, но second никуда не указывает, ему присваивается значение в 1 раз.
Добавлено через 56 секунд Возможно так оно и есть
0
|
60 / 60 / 8
Регистрация: 15.10.2010
Сообщений: 356
|
|
28.07.2012, 14:11 | 10 |
1
|
12 / 12 / 3
Регистрация: 27.07.2012
Сообщений: 208
|
|
28.07.2012, 14:13 [ТС] | 11 |
Мне кажется, что под него просто резервируется место и всё. Но он никуда не указывает.
0
|
60 / 60 / 8
Регистрация: 15.10.2010
Сообщений: 356
|
||||||
28.07.2012, 14:15 | 12 | |||||
Ну да, место резервируется, и вы на него можете нечто положить.
Следующее, ведь, верно =)
0
|
28.07.2012, 14:15 | 13 | |||||
Ну, это место же где то располагается в памяти. Вот туда и указывает. А инициализирован массив при объявлении или нет, это дело десятое...
Вот аналогичный пример с указателями.
0
|
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
|
||||||
28.07.2012, 14:17 | 14 | |||||
А вы проверьте.
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|||||||||||
28.07.2012, 14:22 | 15 | ||||||||||
Имя массива является константным указателем на его первый элемент. Если нужно присвоить значения из первого массива второму, используйте цикл:
Даже если бы Вы использовали не константные указатели, то при присваивании, Вы бы не скопировали значения, а всего лишь навсего указатель second указывал бы туда же, куда и first.
2
|
14 / 14 / 3
Регистрация: 28.07.2012
Сообщений: 57
|
|
30.07.2012, 00:02 | 16 |
Я такие штуки с векторами делаю))) Так проще.
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
||||||
30.07.2012, 00:23 | 17 | |||||
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
||||||
30.07.2012, 07:54 | 20 | |||||
засмотрелся )
0
|
30.07.2012, 07:54 | |
30.07.2012, 07:54 | |
Помогаю со студенческими работами здесь
20
Копирование элементов из одного массива в другой Копирование одного динамического массива структур в другой Копирование одного стека в другой Копирование одного раздела в другой Копирование одного символьного файла в другой Копирование данных из одного файла в другой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |