русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Многомерные массивы


Дата добавления: 2015-08-14; просмотров: 561; Нарушение авторских прав


Иногда удобно иметь массив более чем с одним индексом, в С++ это допускается.

Многомерный массив может иметь любое количество индексов, но чащ всего только два. Двумерный массив удобно представить в виде таблицы, матрицы, в которой первый индекс будет определять строку, а второй – столбец:

Синтаксис

тип < имя> [размер1],[размер2],…,[размер_n]

Указатели в С++

Указателем называется адрес переменной в оперативной памяти. Переменная указательного типа (переменная-указатель или просто указатель) – это переменная, размер которой достаточен для хранения адреса памяти. Указатель объявляется с помощью символа «*», который добавляется после названия обычного типа данных.

тип (*имя) (список_типов_аргументов);

Например

int (*fun) (double, double);

задает указатель с именем fun на функцию, возвращающую значение типа int и имеющую два аргумента типа double.

Указатель на объект содержит адрес области памяти, в которой хранятся данные определенного типа (основного и составного). Простейшее объявление указателя на объект имеет вид:

тип *имя, где тип может быть любым, кроме ссылки и битового поля.

 

Пример

int *a, b, *c

описывается два указателя на целое с именамиa и c, а также целая переменная b

Примеры

int b; // целая переменная

const int b; // целая константа

int * b; //указатель на целую переменную

const int *pc; /указатель на целую константы

int *const cp=&i; //указатель-константа на целую переменную

const int * const cpc= &ci; //указатель-константа на целую константу

 

Для инициализации указателей использована операция получения адреса &.

Существуют следующие способы инициализации указателей:

  1. Присваивание указателю адреса существующего объекта:

§ с помощью операции получения адреса:

int a=5; // целая переменная



int* p=&a; // в указатель записывается адрес а

int* p (&a); // то же самое

§ с помощью инициализированного указателя:

int* t=p;

§ с помощью имени массива или функции, которые трактуется как адрес:

int b[10]; // массив

int* t=b; // присваивание адреса начала массива

void f (int a) {/*…*/}; // определение функции

void (*pf) (int); // указатель на функцию

pf=f; // присваивание адреса функции

  1. Присваивание пустого значения;

int* suxx= NULL;

int* number= 0;

Рекомендуется использовать значение 0, считается, что объектов с нулевым адресом нет, пустой указатель можно использовать для проверки, ссылается указатель на конкретный объект или нет.

  1. Выделение участка динамической памяти и присваивание ее адреса указателю.
    • с помощью оператора new;

int* n = new int; //операция new выполняет размещения величины типа int участка динамической памяти и записывает адрес начала этого участка в переменную n

int* m = new int (10); //те же действия, производиться инициализация выделенной динамической памяти значения 10

int* q = new int[10]; //операция new выделение памяти под 10 величин типа int (массива из 10 элементов) и записывает адрес начала этого участка в переменную q

    • с помощью функции malloc ( библиотека <malloc.h>):

int* u = (int*)malloc (sizeof (int));

Операция new использовать предпочтительнее, чем функцию malloc

!! Если память выделяется с помощью операции new[ ], для освобождения памяти необходимо применить delete[ ].



<== предыдущая лекция | следующая лекция ==>
Объявление массивов и доступ к их элементам. | Ссылочный тип


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.055 сек.