Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Вказівники та одновимірні масиви






Важливою властивістю опису будь-якого масиву у C є те, що ім’я масиву є вказівником-константою, значення якого дорівнює адресі початку масиву (першого байта першого елементу масиву). Нехай маємо опис:

int a[10]. *pa = & a[0] /*або pa = a */;

Звернення до елементів одновимірного масиву

Тоді вказівники:

pa + 1 та a + 1 будуть вказувати на елемент a[1];

pa + i та a + i будуть вказувати на елемент a[i];

До елемента a[1] можна звернутися так: a[1], *(pa + 1), *(a + 1);

А до елемента a[i]: a[i], *(pa + i), *(a + i).

Незважаючи на схожість застосування pa та a у виразах над вказівниками, між ними є суттєва відмінність: pa – це змінна, a – це константа. Звідси випливає, що можна написати

pa = a;

pa++;

Але неможна написати так:

a = pa;

a++;

Вказівники на багатовимірні масиви

Нехай має опис мовою C: int a[3][4];

Опис породжує 3 об’єкти:

ü Вказівник константу з ім’ям a;

ü Безіменний масив із 3-х вказівників;

ü Безіменний масив із 12-ти чисел типу int.

Для звернення до безіменних масивів використовуються адресні вирази над вказівником a.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал