Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
2017-11-15 | 430 |
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 байт. Возвращаемое значение — указатель на
выделенную область памяти.
Динамическое выделение памяти под массивы. Преимущества динамического выделения, графическое представление выделения памяти под одномерный массив.
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!