Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в программирование на С.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
930.82 Кб
Скачать

§4 Массивы

4.1 Одномерные массивы

Массив – это группа расположенных друг за другом в памяти элементов одного типа и имеющих одно общее имя. Определение массива должно содержать информацию о типе, количестве элементов и имени массива. Доступ к элементам массива осуществляется по имени массива и индексу элемента. Индекс – это порядковый номер элемента в массиве; индекс первого элемента всегда 0 далее следуют целые положительные числа.

Объявления массива имеет следующий вид:

тип_данных имя_массива [размер];

размер может быть только целой константой.

Несколько примеров объявления массива:

int x[6]; где x – это имя массива, int – это тип, 6 – это количество элементов, или размер массива.

x

0

1

2

3

4

5

int x[2*4];

int x[]={1,3,5,6,7,8};

x

0

1

1

3

2

5

3

6

4

7

5

8

int x[15]={1,5,-90,7}; в этом случае первые 4 элемента будут соответственно 1,5,-90,7, а остальные будут 0

т.к. размером массива может быть только константа или константное выражение, то

const int n =7;

int x[n];

следующее объявление массива неверно:

int n =7;

int x[n];

В языке “С”, при обработки массивов удобно использовать указатель на этот массив. Любой доступ к элементам массива, осуществляемый операцией индексирования, может быть выполнен и при помощи указателя. Декларация int x[10]; определяет массив ‘x’ из 10 элементов, т.е. блок из10 последовательных элементов с именем x[0],x[1]……,x[9] и определяет значение указателя x, которое равно адресу элемента x[0]. Значение указателя x менять нельзя, т.к. оно является константой, но ее можно присвоить другому указателю и изменить его же значение, а также использовать в выражениях. x[6] тоже самое, что и*(x+6), а &x[6] тоже самое, что и (x+6)

array

0

1

2

3

4

5

6

7

8

9

45

56

-89

6

12

-4

56

-6

7

123

Int array[10];

int *p;

Если объявлены массив array и указатель того же типа, то

p=&array[0]; или p=array; мы направляем указатель p на массив. И (p+6), &array[6], &p[6] таким образом мы обращаемся к адресу 6 элемента, а *(p+6), array[6], p[6] таким образом мы обращаемся к самому элементу, который записан под 6 индексом.

Ввод массива осуществляется следующим образом:

for(i=0;i<n; i++)

{

printf("[%d]=",i);

scanf("%d",&x[i]);

}

Вывод массива осуществляется следующим образом:

for(i=0;i<n; i++)

printf("[%d]=%d\n", i, x[i]);

4.2 Примеры использования массивов

  1. Сумма элементов массива.

#include<stdio.h>