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

Пояснить по работе с указателями - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использована неиницизированная перменная z http://www.cyberforum.ru/cpp-beginners/thread1490507.html
Пишет ,что использована неиницизированная локальная переменная z. Подскажите как испрвить!! #include "stdafx.h" #include<iostream> #include<time.h> #include<stdlib.h> #include <stdio.h>...
C++ Сгруппированая таблица с раскрывающимися строками В приложении Win Forms реализована таблица, заполненая выборкой из БД. Каждая строка таблицы-источника имеет поля "название" и "категория". Пытаюсь сделать чтоб в форме отображалась таблица с... http://www.cyberforum.ru/cpp-beginners/thread1490498.html
Как правильно передать несколько данных в программу из функции? C++
В функции outArray формирую массив, а затем адрес первого элемента массива вместе с количеством строк и столбцов массива передаю в программу:#include <iostream> #include <string> #include <tchar.h>...
C++ Подключение dll к проекту в среде Dev C++
Добрый день, Первый день с Dev c++ Мне нужно к проекту подключить dll библиотеку. Как это правильно сделать? Мной сделано следующее: Сервис-> параметры компилятора->вкладка компилятор->стоит...
C++ Сортировка через ссылку на (указатель на указатели) http://www.cyberforum.ru/cpp-beginners/thread1490465.html
Нужно, что бы функция принимала ссылку на указатель на много указателей,( и количество указателей, ясен пень.) И сортировала все ето, не изменяя значения, а только меняя местами между собой адреса...
C++ Найти количество строк, похожих на первую строку данной матрицы Дана целочисленная матрица размера M × N, элементы которой могут принимать значения от 0 до 100. Различные строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих... подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,660
Завершенные тесты: 1
30.06.2015, 16:56
M = new int * [n]; - выделяется память под массив указателей.
Адрес этой памяти записывается в переменную M.
Поскольку она объявлена локально, то ее значение надо как-то передать в вызывающую программу.
Одно из решений возвратить как результат функции.
Вызывающая программа это число должна запомнить
C++
1
int** x=Create(N,M);
Второй способ - из вызывающей программы указать место, куда записать этот адрес
C++
1
2
3
4
5
6
7
8
9
void Create(int** &M, size_t n, size_t m ) // Передаем M по ссылке, т.е. M хранит реальный адрес, а не копию
{ 
   M = new int*[n];   // записываем непосредственно по адресу из вызывающей программы
   for ( size_t i = 0; i < n; ++i ) 
       M[i] = new int [m];
}
...
int** x;
Create(x,N,M);
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru