Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
-J------ L
sizeof(data)
■*i
Рис. 1.5
Форма обращения к элементам массива с помощью указателей следующая:
• data[0] ==*p\;
• data[\]==*(p\ + 1);
• data[2] = *(pl +2);
• data[i\ == *(p\ + /);
• data[n-\] == *(p\ + n- 1). Операции над указателями p 1 и/?2:
•p\ =p2 — проверка на равенство; •p\\=pl — проверка на неравенство; •р\ <р2 — сравнение указателей на меньше; •р\ <=р2 — сравнение указателей на меньше или равно; •р\ >р2 — сравнение указателей на больше; •р\ >=р2 — сравнение указателей на больше или равно; •р2 - pi — вычисление количества элементов между р2 и/Л; •р\ + i — наращивание указателя на / элементов; •р\ - i — уменьшение указателя на / элементов.
При работе с указателями и массивами следует внимательно следить за тем, чтобы адреса, хранимые в указателях, не выходили за рамки адресов массивов.
Пример. Связь между указателями и именами массивов
#include <std | io. h> | |
main() { int i; | ||
float data | [5], *p; | |
printf("\n | Начальный адрес массива data - %u.", | |
data); | ||
printf("\n | Адрес элемента | массива data[0] - %u.", |
&data [0]); | ||
printf("\n | Адрес третьего | элемента массива - %u.", |
&data [3]); | ||
p=data; /* | р= & data [0]; | */ |
for (i=0; { printf( | i<=4; i=i+l) | |
"\п Адрес %d-ro | элемента массива data | |
равен % | a.", i+1, p+i); | |
printf( | "\n Значение %d- | -го элемента массива |
data равно %f.", i+1, } } | &data[i]); |
Инициализация массивов
Существует два способа инициализации массива:
1) указание начальных значений при объявлении массива;
2) организация цикла последовательного ввода значений элементов массива.
Дата публикования: 2014-11-04; Прочитано: 211 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!