Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Массив — это упорядоченная последовательность величин, обозначаемая
одним именем.
Общая форма объявления массива:
Тип имя [размер массива];
Пример
float data[245];
Каким образом связаны массивы и указатели
В ряде случаев операции с массивами можно свести к операции с указателями
Форма обращения к элементам массива с помощью указателей следующая:
• data[0] == *p1;
• data[1] == *(p1+1);
• data[2] == *(p1+2);
• …,
• data[i] == *(p1+i);
• …,
• data[n-1] == *(p1+n-1).
Операции над указателями p1 и p2:
• p1 == p2 — проверка на равенство;
• p1!= p2 — проверка на неравенство;
• p1 < p2 — сравнение указателей на меньше;
• p1 <= p2 — сравнение указателей на меньше или равно;
• p1 > p2 — сравнение указателей на больше;
• p1 >= p2 — сравнение указателей на больше или равно;
• p1 - p2 — вычисление количества элементов между p1 и p2;
• p1 + i — наращивание указателя на i элементов;
• p1 - i — уменьшение значения указателя на i элементов.
Пример. Связь между указателями и именами массивов
#include <stdio.h>
main()
{
int i;
float data [5], *p;
printf("\n Начальный адрес массива data - %u.", data);
printf("\n Адрес элемента массива data[0] - %u.",
&data[0]);
printf("\n Адрес третьего элемента массива - %u.",
&data[3]);
p=data; /* p= & data [0]; */
for (i=0; i<=4; i=i+1)
{
printf("\n Адрес %d-го элемента массива data равен
%u.", p+i);
printf("\n Значение %d-го элемента массива data
равно %f.", &data[i]);
}
}
Способы инициализации массивов
Существует два способа инициализации массива:
1. Указание начальных значений при объявлении массива.
2. Организация цикла последовательного ввода значений элементов массива.
Общая форма инициализации массива при объявлении
тип имя [n]={значение1,
значение2,
значение3,
...,
значениеn};
26. Каким образом осуществляется передача массива в функцию. Проиллюстрировать примером.
Обработку массивов удобно организовывать с помощью специальных
Функций. Если функции передается массив, то на самом деле внутрь функции
попадает только адрес массива. Фактически в функцию передаются: 1) адрес
массива, 2) размер массива. Исключение составляют функции обработки строк, в
которые передаются только адреса.
Рассмотрим пример программы, в которой функция modify() увеличивает
На 1 значение каждого элемента массива data.
#include <stdio.h>
void modify (int * a, int size)
{
int i;
for (i=0; i<= size, i++)
*(a+i) =*(a+i) + 1;
/* a[i] = a[i]+1;*/
}
main()
{ int data[]= {-12,14,-10,16,22};
int i;
printf("\n Исходный массив: ");
for (i=0; i<=4; i++)
printf("\n data[%d] =%d", i,data[i]);
modify(data, 4); 44
printf("\n Модифицированный массив: ");
for(i=0; i<=4; i++)
printf("\n data[%d]=%d", i, data[i]);
}
27. Понятие многомерного массива: форма объявления, расположения в памяти ЭВМ, для чего применяются.
В языке Си массивы бывают не только одномерные, но и многомерные.
Отличие состоит в том, что в одномерном массиве положение элемента
определяется одним индексом, а в многомерном — несколькими.
Общая форма объявления многомерного массива
тип имя_массива [индекс_1]
[индекс_2]
.....
[индекс_n];
Элементы многомерного массива располагаются в последовательных ячейках
оперативной памяти по возрастанию адресов. Между элементами нет разрывов. В
памяти ЭВМ элементы располагаются построчно таким образом, что быстрее всего
меняется последний индекс.
Приример расположения в памяти ЭВМ двухмерного массива int d[3][4]
d[0][0] d[0][1] d[0][2] d[0][3]
d[1][0] d[1][1] d[1][2] d[1][3]
d[2][0] d[2][1] d[2][2] d[2][3]
Пример расположения в памяти ЭВМ трехмерного массива int d[2][2][2]
d[0][0][0] d[0][0][1]
d[0][1][0] d[0][1][1]
d[1][0][0] d[1][0][1]
d[1][1][0] d[1][1][1]
Применение двухмерных массивов. Двумерные массивы, как правило,
отождествляются с матрицами, поэтому типовыми задачами, в которых
применяются двухмерные массивы, являются задачи с матрицами:
транспонирование матриц, вычисление определителя, определение средних
значений матрицы и так далее.
Понятие динамического выделения памяти, формат функции malloc(), преимущества динамического выделения памяти.
Malloc -функция динамического распределения памяти.
Описание функции malloc(). Функция malloc() динамически распределяет
блок памями размером size байт. Возвращаемое значение — указатель на
выделенную область памяти.
Динамическое выделение памяти под массивы. Преимущества динамического выделения, графическое представление выделения памяти под одномерный массив.
|
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!