Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Показники на масиві

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Якщо у вас є покажчик на масив, як його використовувати? Наприклад у вас є покажчик на масив цілих чисел (int). Покажчик спочатку вказуватиме на перше значення в масиві як показує наступний. Помітимо так само, що якщо ми маємо покажчик на значення, наприклад int* pNumberSet, ми можемо звертатися до нього як до масиву. Ось приклад, pNumberSet рівне *pNumberSet; а pNumberSet рівно *(pNumberSet + 1. Читати ще >

Показники на масиві (реферат, курсова, диплом, контрольна)

Ви також можете створювати покажчики які вказують на масиви. Це робиться так:

int *pArray;

int MyArray[6];

pArray = &MyArray[0];

Зверніть увагу, що замість написання &MyArray[0], ви можете просто написати MyArray. Це, звичайно ж, застосовано тільки до масивів унаслідок способу їх реалізації в мовах C/C++. За загальними правилами необхідно було б написати pArray = &MyArray, але це неправильно. Якщо ви так напишіть те отримаєте покажчик на покажчик на масив (не друкарська помилка), що ясно не те що вам потрібне.

Використання покажчиків на масиви

Якщо у вас є покажчик на масив, як його використовувати? Наприклад у вас є покажчик на масив цілих чисел (int[]). Покажчик спочатку вказуватиме на перше значення в масиві як показує наступний.

Приклад:

#include.

void main ().

{.

int Array[3];

Array[0] = 10;

Array[1] = 20;

Array[2] = 30;

int *pArray;

pArray = &Array[0];

printf («pArray points to the value %d «, *pArray);

}.

Для того, щоб перемістити покажчик до наступного елементу масиву, ми можемо зробити pArray++. Ми також можемо, як деякі з вас могли вже догадатися, зробити pArray+2, що пересуне покажчик відразу на 2 елементи. З чим треба бути обережним так це з верхньою межею масиву (в даному випадку це 3 елементи), тому що компілятор не може перевірити чи вийшли ви за межу масиву використовуючи покажчики. Ви легко можете отримати повний збій системи якщо будете не обережні. Ось ще один приклад, що цього разу показує три значення які ми встановили :

#include.

void main ().

{.

int Array[3];

Array[0] = 10;

Array[1] = 20;

Array[2] = 30;

int *pArray;

pArray = &Array[0];

printf («pArray points to the value %d «, *pArray);

pArray++;

printf («pArray points to the value %d», *pArray);

pArray++;

printf («pArray points to the value %d «, *pArray);

}.

Ми також можемо рухати покажчик у будь-яку сторону, так pArray — 2 це 2 елементи від того місця куди вказує покажчик. Переконаєтеся що ви додаєте і віднімає значення покажчика, а не у значення на яке він вказує. Цей метод використання покажчиків і масивів понад усе корисний при використанні циклів, таких як for або while.

Помітимо так само, що якщо ми маємо покажчик на значення, наприклад int* pNumberSet, ми можемо звертатися до нього як до масиву. Ось приклад, pNumberSet[0] рівне *pNumberSet; а pNumberSet[1] рівно *(pNumberSet + 1).

Це не абсолютно повне керівництво по роботі з покажчиками. Є ще багато речей, які я міг би розкрити детальніше, таких як покажчики на покажчики, і тим, яких я не торкнувся взагалі, наприклад, функціональних покажчиків, які занадто складні для цієї статті. Так само є речі, які використовуються занадто рідко, щоб збивати початківців з пантелику великою кількістю деталей. От і все! Спробуйте запустити код представленый в цій статті і придумати ще які нибудь свої варіації і приклади. (За мотивами © Andrew Peace).

Практика

Описати процедуру AddRightDigit (D, K), що додає до цілого позитивного числа K справа цифру D (D — вхідний параметр цілого типу, що лежить в діапазоні 0−9, K — параметр цілого типу, що являється одночасно вхідним і вихідним). За допомогою цієї процедури послідовно додати до цього числа K справа ці цифри D1 і D2, виводячи результат кожного додавання.

Описати процедуру SortArray (A, N), виконуюче сортування за збільшенням речового масиву A розміру N. Масив A є вхідним і вихідним параметром. За допомогою цієї процедури відсортувати масиви A, B, C розміру NA, NB, NC відповідно.

Описати рекурсивну функцію Fact (N) речового типу, що обчислює значення факторіалу.

N! = 1*2*…*N.

(N > 0 — параметр цілого типу). За допомогою цієї функції вичислити факторіали п’яти цих чисел.

Показати весь текст
Заповнити форму поточною роботою