Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Создание указателя на массив



Можно создать указатель на первый элемент массива, указав имя массива без индекса. Пусть имеется

int sample [10];

Можно создать указатель на первый элемент массива, используя имя sample. Следовательно, следующий фрагмент присваивает переменной р адрес первого элемента массива sample:

int *p;

int sample[10];

p = sample;

Можно также получить адрес первого элемента массива с помощью оператора &. Например:

p = sample;

и

p = &sample[0];

Приводят к одинаковому результату. Тем не менее запись &sample [ 0 ] в профессиональных программах практически не встречается.

Индексация с помощью указателей

Указатели и массивы тесно связаны между собой. Как объяснялось выше, имя массива без индекса – это указатель на первый элемент массива. Пусть имеется массив

char p[100];

Выражение

p = = &p[0];

выдает истину, поскольку адрес первого элемента и адрес массива совпадают.

Справедливо и обратное. Любой указатель может быть проиндексирован, как будто это массив. Например:

int *p, i[10];

p = i;

p[5] = 100; /* присвоение с помощью индекса */

*(p+5) = 100; / * присвоение с помощью арифметики с указателями */

Оба оператора присваивания помещают значение 100 в шестой элемент массива i. Первый оператор использует индексацию с р, а второй – арифметику указателей. Так или иначе, результат одинаков.





Дата публикования: 2015-10-09; Прочитано: 330 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...