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

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

Войти
Регистрация
Восстановить пароль
 
Alberto_Timakov
1 / 1 / 0
Регистрация: 21.11.2011
Сообщений: 183
#1

Связь массивов и указателей - C++

27.03.2012, 21:46. Просмотров 761. Ответов 1
Метки нет (Все метки)

Здравствуйте! Помогите разобраться пожалуйста!

Вот когда я определяю одномерный массив

Type mass[n];

Что происходит?

Выделяется память достаточная для хранения n элементов типа Type и присваивается указателю mass?

Если это так, то что тогда происходит при определении многомерного массива?

к примеру

Type mass[n][m];

можете пожалуйста объяснить???

и еще в учебнике есть строки

void f(const int *m)
{...}

/*
Экивалентные определения функции f

void f(int m[], n)
{...}

void f(int m[n], n)
{...}

*/

int main()
{
Type m[n];

...

f(m);
...
}

Вот у меня вопрос, в функцию f из main передается указатель на начало массива m, а чем он принимается в функции f в случае f(int m[],n)
m[] - это же не указатель на int? Если да, то почему, я просто не понимаю...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2012, 21:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Связь массивов и указателей (C++):

Создание массивов указателей на массивы указателей - C++
Помогите в решении задачи: создал массив указателей на массивы указателей на строки, но компилятор ругается на то что не может...

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

Нотации массивов и указателей - C++
Айвор Хортон в своей книге Beginning Visual C++ 2010 утверждает (стр. 183, 2-й абзац сверху) что нотация указателей работает быстрее...

Индексация массивов с помощью указателей - C++
Не смог понять логику вот этой программы, связанной с объявлением массивов через указатель: #include <iostream> ...

Индексация массивов, арифметика указателей - C++
инициализирую одномерный массив и делаю на него указатель const int N = 6; int X = {9,3,2,3,6,8}; int *mas = X; ...

Сортировка элементов массивов указателей на char - C++
Ни как не получается отсортировать это. Помогите отладить прогу плиз int main() { _getch(); char *arrptrs = {"g","e", ...

1
Shandr_71
13 / 13 / 1
Регистрация: 05.12.2011
Сообщений: 84
27.03.2012, 22:28 #2
В первом случае выделяется sizeof(T)*n байт памяти, переменной mass присваивается указатель на первый элемен (mass==&mass[0]).
Во втором случае выделяется sizeof(T)*n*m байт памяти, переменной mass присваивается указатель на первый элемент (mass==mass[0][0]). В памяти он хранится в виде m последовательно записанных массивов из n элементов.
int m[] - это указатель на массив (при размерности массива 1 его длина не имеет значения, при размерности, например, 3 можно было бы написать так: int m[][n][m], или, что тоже самое: int *m).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2012, 22:28
Привет! Вот еще темы с ответами:

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

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

Обработка одномерных массивов с использованием указателей - C++
Помогите эту программу переделать чтобы было с указателем составить программу заданной обработки массива целых чисел с...

В чем отличие указателей и массивов на примере strlen()? - C++
Здравствуйте уважаемые форумчаче. Появился вот такой вопрос. Почему функция strlen работает в таком случае: const int...


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

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

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