- •Робота з вказівниками
- •Теоретичні відомості Масиви
- •Теоретичні відомості Вказівники Поняття про вказівники
- •Оператори для роботи з вказівниками.
- •Вирази з вказівниками
- •Присвоєння вказівників.
- •Арифметичні дії з вказівниками
- •Порівняння вказівників
- •Динамічне виділення і вказівники
- •Вказівники на константи
- •Вказівники і масиви
- •Вказівники на символьні масиви
- •Масиви вказівників
- •Вказівники на вказівники
- •Завдання
- •Вказівники
Лабораторна робота №4
Лабораторна робота №4 Масиви в C++
Робота з вказівниками
Мета роботи: 1. Навчитися правильно розуміти і використовувати вказівники при створенні програм на С / С++.
2. Вивчення прийомів оголошення й звертання до масивів, використання функцій і директиви define при роботі з масивами.
Теоретичні відомості Масиви
Масиви – це набір об’єктів однакового типу, доступ до яких здійснюється безпосередньо за індексом в масиві. Звернення до масивів у С/C++ здійснюється і за допомогою вказівників.
Масиви можна описувати в такий спосіб:
тип_даних ім’я_масиву [ розмір_масиву ];
Використовуючи ім’я масиву й індекс, можна адресуватися до елементів масиву:
ім’я_масиву [ значення_індексу ]
Значення_індексу повинні лежати в діапазоні від нуля до розміру, на одиницю меншого, ніж розмір_масиву, зазначений при його описі.
Ось декілька прикладів опису масивів:
char name [ 20 ];
int grades [ 125 ];
float income [ 30 ];
double measurements [ 1500 ];
Перший із масивів ( name ) містить 20 символів. Звертанням до елементів масиву може бути name [0], name [1], ..., name [19].
Другий масив (grades ) містить 125 цілих чисел. Звертанням до елементів масиву може бути grades [0], grades [1],..., grades [124].
Третій масив (income) містить 30 раціональних чисел. Зверненням до елементів масиву може бути income [0], income [1],...,income [29].
Четвертий масив (measurements) містить 1500 раціональних чисел із подвійною точністю. Зверненням до елементів масиву може бути measurements [0], measurements [1], ..., measurements [1499].
/* Програма, що ілюструє використання масивів */
/*Файл array.cpp*/
#include <stdio.h>
#define size 1000
int data [size];
int main ( )
{
int i;
for (i=0; i<size ; i++ )
data [ i ] = i;
float sum=0.0;
for (i=0; i<size ; i ++)
sum+=data[ i ];
sum/=size;
printf ( “\nСереднє значення масиву data =%f\n”,sum);
}
У програмі створюється масив з 1000 цілих чисел. Підраховується сума елементів цього масиву і знаходиться середнє арифметичне. Зверніть увагу на використання константи size (розмір). Якщо змінюється розмірність масиву, що задається цією константою, то це не призводить до необхідності змінювати що-небудь у самому коді програми.
Аналогічно до одновимірний масивів задаються двовимірні, тривимірні і т. д. Багатовимірний масив можна уявляти як масив масивів. Наприклад, двовимірний масив (матриця) є одновимірним масивом, елементами якого є одновимірні масиви:
long matrix[3][4];
matrix є матрицею довгих цілих чисел, що складається з 3-х рядків і 4-х стовпців. Звертання до верхнього лівого елемента матриці буде виглядати так: a[0][0], а до нижнього правого — a[2][3]. Всього матриця містить 12 елементів.
Тривимірна матриця описується аналогічно:
int x[10][4][2];
В багатовимірних масивах найшвидше змінюється останній індекс, тобто адреса елемента x[10][4][1] є більшою від адреси x[10][4][0] на розмір числа типу int.
Масиви символів можна ініціалізувати рядком символів. В такому випадку розмір масиву не вказується, а пам’ять під масив виділяється автоматично:
char msg[]="Все правильно !";