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

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

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

Указатели и массивы - C++

20.01.2013, 17:35. Просмотров 340. Ответов 6
Метки нет (Все метки)

Привет всем. Объясните пожалуйста
int* v[i];
int**v;
Чем они эквивалентны?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 17:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели и массивы (C++):

Отсортировать массив и вывести на экран (массивы и указатели на указатели) - C++
Даны массивы F-фамилий студентов и S-результаты сессии (5 оценок) , причем s- результат сессии F студента. Отсортировать массив S по...

Указатели и массивы. Указатели и функции - C++
Никак не разберусь с указателями на функцию. Пишу в Visual Studio. Надо написать функцию Compress() с использованием указателей, которая...

Указатели на массивы. Указатели и функции - C++
Вот задача: Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать: -Элементы обоих массивов; -Общие...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append("мамa"); ...

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append("мамa"); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
20.01.2013, 17:40 #2
Фактически, динамический массив является указателем.
В первом случае это массив указателей, во втором указатель на указатель (что может спокойно оказаться двумерным массивом, а может и не оказаться).
Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 17:55  [ТС] #3
А можете объяснить как указатель на указатель может стать двумерным массивом?
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,229
Записей в блоге: 3
Завершенные тесты: 1
20.01.2013, 18:00 #4
C++
1
2
3
4
5
6
7
8
9
10
    int N=100;
    int ** arr;
    //Создание arr[N][N]
    arr=new int*[N];
    for(int i=0;i<N;++i)
        arr[i]=new int[N];
    //Удаление  arr[N][N]
    for(int i=0;i<N;++i)
        delete [] arr[i];
    delete [] arr;
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
20.01.2013, 18:04 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    int M, N, **a;
    std::cin >> M >> N;
    a = new int *[M]; // в a выделяем память под массив указателей на int размером M. **a становится *a[M]
    for (int i=0; i < M; i++) // для каждого элемента из массива *a (имею тип int *)
        a[i] = new int[N]; // выделяем память под N чисел типа int. **a становится a[M][N];
 
    for (int i=0; i < M; i++) // освобождаем память в обратном порядке
        delete []a[i];
    delete []a;
}
Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 18:27  [ТС] #6
Почему именно указатель (массив указателей) должен вывести динамическую память для массива (двумерного массива)?
Я много видел этот код, но работу указателей не понимаю.
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
20.01.2013, 18:32 #7
Vahram1995, что такое указатель? Это переменная, которая показывает на участок памяти, где хранятся нужные нам данные. При использовании динамического массива, мы в переменную записываем адрес, откуда начинается запись элементов массива один за другим.
Если вы не понимаете до конца смысла указателей, лучше освойте это, прежде чем пробовать осилить динамические массивы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2013, 18:32
Привет! Вот еще темы с ответами:

Указатели и массивы - C++
Помогите переделать через указатель int *x. #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;conio.h&gt; main() { clrscr(); ...

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

Указатели и массивы - C++
Программа должна заменить все элементы массива с отрицательными значениями средним арифметическим значением всех положительных элементов....

Массивы и указатели. - C++
Объясните как работает код, что он будет выводить на экран и почему : #include &lt;stdio.h&gt; #define PRD(a) printf(&quot;%d&quot;, (a) ) //...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.01.2013, 18:32
Ответ Создать тему
Опции темы

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