2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
||||||
1 | ||||||
Динамическое выделение памяти21.11.2011, 19:14. Показов 1066. Ответов 17
Метки нет (Все метки)
Почему распечатка матрицы Matr1 в f2 дает матрицу из ед., а в f1 матрицу из нулей? Ведь адрес первого эл. массива Matr2 сохранен в переменной Matr1, и динамическая память после завершения функции не очищается?
0
|
21.11.2011, 19:14 | |
Ответы с готовыми решениями:
17
Распределение памяти. Динамическое выделение памяти Динамическое выделение памяти Динамическое выделение памяти Динамическое выделение памяти |
9 / 9 / 2
Регистрация: 21.11.2011
Сообщений: 36
|
||||||
21.11.2011, 19:23 | 3 | |||||
Внутри функций f1 и f2 идет присвоение всем элементам матрицы нулей или единиц
0
|
9 / 9 / 2
Регистрация: 21.11.2011
Сообщений: 36
|
|
21.11.2011, 19:27 | 5 |
если функция printf() написана вручную то дело наверняка в ней .
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
||||||||||||||||
21.11.2011, 20:33 [ТС] | 9 | |||||||||||||||
это был псевдокод или что-то вроде этого)))
mc.Duck: Type - некоторый тип данных, к примеру, double или инт, не суть важно. go : printf(Matr1); - так для краткости, я обозначил вывод матрицы:
xAtom: закоментил все лишнее. код:
go :
, но я не могу понять, почему мое не работает
0
|
Заблокирован
|
|
21.11.2011, 20:37 | 10 |
Я думаю, что вы некорректно представили свой псевдокод. То есть он не соответсвует тому коду, на основе которого вы привели здесь свой псевдокод.
Чтобы убедиться в этом. вы сами переведите свой псевдокод в нормальный код, и у вас все должно печаться, как надо.
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
21.11.2011, 20:56 [ТС] | 12 |
Возможно) А я уже скинул действующий код, который не верно работает.
Добавлено через 13 минут Непонял, почему копия? Объясните поподробней, пожалуйста)
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
21.11.2011, 21:03 [ТС] | 14 |
Matr1 не по значению же передается, а по ссылке...
Это же матрица...
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|||||||||||
22.11.2011, 01:13 [ТС] | 16 | ||||||||||
Ну, если я тебя правильно понял, то следующая замена, не должна была бы изменить результат распечатки в f1.
Если я заменю строку
Добавлено через 44 минуты Просто для меня "Передается Копия ссылки" звучит, как работа не с исходным массивом, а с его копией, чего быть не может...
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
22.11.2011, 13:46 | 17 |
у вас есть исходный указатель на массив, когда вы его передаете в функцию, то в функции создается другой указатель, но на этот же массив
Вывод: вы можете менять значения массива, но не можете менять значение исходного указателя. вообще если это не поймете, функциями лучше не пользоваться
0
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
23.11.2011, 00:12 [ТС] | 18 |
и то и другое понял)
0
|
23.11.2011, 00:12 | |
23.11.2011, 00:12 | |
Помогаю со студенческими работами здесь
18
Динамическое выделение памяти Динамическое выделение памяти Динамическое выделение памяти Динамическое выделение памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |