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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
4ance
1 / 1 / 0
Регистрация: 02.11.2010
Сообщений: 78
#1

Хранение в памяти массива - C++

21.02.2011, 11:05. Просмотров 1951. Ответов 1
Метки нет (Все метки)

В описании функции для передачи 2-мерного массива указывается ( int a[ ][ 3 ] ). Когда мы задаём как аргумент функции одномерный массив, скобки в списке параметров функции пусты. Размерность первого индекса многомерного массива не требуется, но все последующие размерности индексов необходимы. В двумерном массиве первая строка хранится в памяти перед второй строкой. При обращении к a[ 1 ][ 2 ] функция знает, что для доступа ко второй строке нужно пропустить в памяти три элемента первой строки, а затем обратиться к третьему элементу этой строки ( элементу 2 ).

Но если я не указываю первую размерность массива - то откуда он будет знать, сколько 3-х элементных строк надо резервировать в памяти? Если я в функцию допишу аргумент ( int b ) или ( int c[ ][ 4 ] ) - каким образом он предотвратит наложение этих ячеек памяти друг на друга?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2011, 11:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Хранение в памяти массива (C++):

Хранение функции в памяти - C++
Как я понял при написании функции она должна хранится в памяти, вопрос: при вызове функции все вычисления происходят в той же области...

STRING на русском перевод в нижний регистр и хранение в памяти русского - C++
Извиняюсь за название темы. Нижний регистр оказался не причем. Не работает и без него Помогите пожалуйста. Нужно сделать так что бы...

резервирование памяти/освобождение памяти для трехмерного массива - C++
Необходимо создать трехмерный массив (A), в котором элементы вдоль направления Z выли бы выровнены по 16 байт. Есть две проблемы: ...

Хранение глобального массива с объектами - C++
Добрый день всем. У меня есть vector с объектами. И надо чтобы он был доступен по всех классах.( отдельных файлах ). Чтобы я мог...

Выделение памяти для массива через функцию и использование этого массива - C++
Я определяю свою структуру, создаю динамический массив, где будут храниться элементы этой структуры. Есть функция которая выделяет память,...

Очистка памяти массива (С++) - C++
Не получается очистить память массива. По моему коду, по завершении программы выдаётся ошибка "попытка очистки памяти после записи её в...

1
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
21.02.2011, 15:24 #2
функция получает массив по ссылке и ничего не резервирует
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2011, 15:24
Привет! Вот еще темы с ответами:

Индексация массива в динамической памяти - C++
Всем привет! Вроде очень простой вопрос, но я не смог найти на него ответа. Вот код: #include <iostream> using namespace std; ...

Выделение памяти для массива - C++
Пишу такой код: int main() { int* arr1 = new int; } Всё норм. Теперь такой:

нехватает памяти для массива - C++
Народ!!! Подскажите плз, я пишу прогу на C++ в IDE Eclipse, делаю массив int mas , и мне кажется нехватает для этого массива памяти(при...

Выделение памяти для массива - C++
Вопроса похожего не нашел, в задаче требуется считать матрицу из текстового файла,выделение хотелось бы реализовать следующим образом: ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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