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

Указатель на указатель - разница способов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки + файлы http://www.cyberforum.ru/cpp-beginners/thread104417.html
Всем, привет!Ребят, не поможете написать програмку? А то я совсем чайник в Си...Учусь в МИФИ, преподы звери, ничего не объяснили, сразу задали писать прогу... Задача такая - Из входного потока вводится произвольное число сторк. Каждая строка представляет собой последовательность слов, разделенных пробелами и/или знаками табуляции. Длина каждой строки не превышает 80 символов. Конец ввода...
C++ Вычислить произведение матрицы на вектор Дана матрица A(5,5) и вектор X(5). Вычислить произведение матрицы на вектор. http://www.cyberforum.ru/cpp-beginners/thread104382.html
C++ Зеркальное отображение массива
Всем привет!не могу сообразить как переписать старый массив в новый, отобразить значения массива в обратном порядке у меня получилось,а вот сохранить порядок значений в новом массиве не могу придумать как это сделать: #include <iostream> #include <iomanip> using namespace std; int main() { int mass={1,2,3,4,5,6,7,8,9,10}; for(int i=0;i<10;i++) {
Преобразовать массив так, чтобы сначала располагались все положительные элементы, а потом отрицательные C++
Помогите пжлст решить задачу:cry: В одномерном массиве, состоящем из n целых эл-ов, вычислить: 1) произведение элементов массива с четными номерами 2)сумму элементов массива, расположенных между первым и последним нулевыми элементами 3)Преобразовать этот массив так, чтобы сначала располагались все положительные элементы, а потом отрицательные(эл-ты, равные нулю, считать положительными).
C++ Сортировка текстового файла в алфовитном порядке http://www.cyberforum.ru/cpp-beginners/thread104345.html
Помогите пожалуста!!! Мне требуется сортировать текст, который хранится в текстовом файле, а алфовитном порядке, и записать полученный словарь в другой файл. Так же, реализовать возможность дополнения словаря отдельными словами из консоли. Текст на англиском. Например Ladybird, Ladybird, Fly away home, Your house is on fire, Your children all gone.
C++ Как работает оператор typedef как работает оператор typedef если есть у кого сам код то пришлите,интересно:) подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5767 / 3416 / 255
Регистрация: 08.02.2010
Сообщений: 7,441
15.03.2010, 15:44     Указатель на указатель - разница способов
Цитата Сообщение от Krist_ALL Посмотреть сообщение
ав каких случаях первый способ рационален а когда второй.
Вопрос не в том, когда рационален один способ, а когда второй. Они используются для разных целей.
Начнем с того, что в C/C++ массивы реализованы с помощью указателей:
C++
1
2
int a[5];//a - указатель на первый элемент массива
         //a+1 - указатель на второй элемент массива и т.д.
Таким образом, записи a[0] и *(a+0), a[4] и *(a+4) - аналогичны. Когда ты используешь многомерные массивы (т.е. с размерностью больше единицы), ты уже используешь указатели на указатели на указатели... К примеру, двумерный массив типа int - это указатель на указатель на тип int.
Без указателей на указатели не обойтись, если ты хочешь динамически выделить память под многомерный массив:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
    //Выделение памяти под двумерный массив
    int** parr=new int*[2];
    for(size_t i=0; i<2; ++i)
    {
        parr[i]=new int[2];
        for(size_t j=0; j<2; ++j)
            parr[i][j]=i+j;//Доступ по индексу
    }
    for(size_t i=0; i<2; ++i, std::cout << std::endl)
        for(size_t j=0; j<2; ++j)
            std::cout << *(*(parr+i)+j) << " ";//Доступ через операцию разыменования
    //Освобождение памяти
    for(size_t i=0; i<2; ++i)
        delete[] parr[i];
    delete[] parr;
    system("pause");
    return 0;
}
Сначала ты выделяешь память под массив строк, потом для каждой строки ты выделяешь память под массив ее элементов
 
Текущее время: 09:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru