Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Вказівники та одновимірні масиви
Важливою властивістю опису будь-якого масиву у 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.
|