Лекция: Sizeof(float)

-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) организация цикла последовательного ввода значений элементов массива.

еще рефераты
Еще работы по информатике