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

Проход матрицы используя указатели - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа работает, не не совсем правильно... http://www.cyberforum.ru/cpp-beginners/thread81853.html
Напечатать вектор первых букв слова, которые начинаются и заканчиваются на указаный символ (т.е. надо вывести адрес строки и адреса первых букв слов, удовлетворяющих условию). В принципе программа...
C++ Выдаёт ошибку... Строчка 32. #include <iostream> #include <conio.h> #include <math.h> #include <stdio.h> using namespace std; bool prime(int n) { bool v; http://www.cyberforum.ru/cpp-beginners/thread81847.html
C++ комбинации чисел
здравствуйте, помогите дауну создать проэкт. visual studio 2005-2008 вот мне данно готовый пакет string ;IntToString(int intValue) // Credits to http://www.techbytes.ca/techbyte100.html { ...
Работа с массивами и списками. Методы сортировки и поиска. C++
помогите написать програму Задачa Написать программу которая выполняет следующие действия: 1) считывает данные из файла и сохраняет их в памяти в виде списока с двойными связями 2) Выводит...
C++ Структурная переменная http://www.cyberforum.ru/cpp-beginners/thread81789.html
Помагите решить плис... Ввести структуру (с полями числитель и знаменатель)для описания понятия рациональное число.Составить и протестировать функции: а)РАВНО (А,В), которая...
C++ двумерный массив помогите решить задачки плиз!!!!! №1. Дана матрица размера M x N (M-четное число).Поменять местами верхнюю и нижнюю половины матрицы. №2. Дана матрица размера M x N(N-четное число).Поменять... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.01.2010, 07:09
В этом коде создатся двумерная матрица. Создается она так: сначало объявляется переменная int **a; - это переменная объявлена как указатель на массив указателей (одномерный) на массивы (одномерные) с элементами типа int.
И соответственно массив двумерный мы создаем так:
Сначало выделяем память под массив указателей (одномерный):
C
1
a = (int **)malloc (n * sizeof (int *));
Заметьте, не под массив элементов типа int, а под массив указателей, каждый из которых будет указывать на одномерный массив элементов типа int.
А затем в цикле:
C
1
2
        for (i = 0; i < n; i++)
        a [i] = (int *)malloc (n * sizeof (int));
Выделяем n раз память для массива элементов типа int размером n (одномерного), присваивая каждый раз адрес выделенной памяти уже объявленным указателям: a [i].
Вот так получается создание двумерного массива (динамически).
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru