| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Копирование массива |
| Автор: freezeman 24.4.2012, 20:30 | ||
| Всем привет! Вопрос на копейку. В функцию передаю массив, нужно вернуть результат. Нужно именно промежуточный массив x сохранить и вернуть в y! Массивы одной размерности! Код:
|
| Автор: disputant 24.4.2012, 21:42 | ||||||
В функцию будет передан указатель, так что sizeof(y), сами понимаете, какой... Где у вас количество элементов в массиве? N? Вот и используйте N*sizeof(int). И передавайте правильно массивы, int*y[] не нужен. Вот микропример программы, разберетесь...
|
| Автор: alexvs11 24.4.2012, 21:43 |
| массивы передаются по ссылке, те freezeman, sizeof(y) возвращает размер указателя должно быть чтото вроде memcpy (y, x, sizeof(int) * count); |
| Автор: freezeman 24.4.2012, 22:14 | ||||||
Спасибо за ответ! Я уже разобрался, в передаче массива y и была проблема! ;) Вот ещё проблема появилась, буду благодарен за помощь:
Добавлено через 5 минут и 22 секунды
Спасибо, но так не пашет! Я пробовал... |
| Автор: alexvs11 24.4.2012, 22:27 |
массивы всегда передаются по ссылке, а не по значению - так что это не может не работать |
| Автор: freezeman 24.4.2012, 22:31 | ||||
Я сделал так:
|
| Автор: alexvs11 24.4.2012, 22:45 | ||
и в чем смысл?
sizeof(x) по правилам си возвращает размер int* что должно получится при умножении размера int на размер int*? |