Описати 3 масиви типу char, short і float розмірністю 6. Вивести на екран адреси всіх елементів 3-х масивів з використанням адресної арифметики.
Текст програми,:
#include <stdio.h>
#define MAX 10
/* Îïèñ ³ çàäàííÿ ìàñèâó òèïó short */
short s_array[MAX] = { 0,1,2,3,4,5,6,7,8,9 };
/* Îïèñ ³ çàäàííÿ ìàñèâó òèïó char */
char c_array[MAX] = { 0,1,2,3,4,5,6,7,8,9 };
/* Îïèñ ³ çàäàííÿ ìàñèâó òèïó float. */
float f_array[MAX] = { .0, .1, .2, .3, .4, .5, .6, .7, .8, .9 };
/* Îïèñ âêàç³âíèêà íà float. */
float *f_ptr;
/* Îïèñ âêàç³âíèêà íà int ³ çì³ííî¿ òèïó int */
char *c_ptr, i;
/* Îïèñ âêàç³âíèêà íà short */
short *s_ptr;
void main()
{ /* Çàäàííÿ âêàç³âíèê³â. */
c_ptr = c_array;
s_ptr = s_array;
f_ptr = f_array;
/* Âèâ³ä àäðåñ³â åëåìåíò³â ìàñèâó p dbrjhb */
for (i=0; i<MAX; i++)
{ printf("%ld\t", c_ptr++);
printf("%ld\t", s_ptr++);
printf("%ld\n", f_ptr++); }}
Результат роботи програми
4202524 4202504 4202536
4202525 4202506 4202540
4202526 4202508 4202544
4202527 4202510 4202548
4202528 4202512 4202552
4202529 4202514 4202556
4202530 4202516 4202560
4202531 4202518 4202564
4202532 4202520 4202568
4202533 4202522 4202572
Контрольні запитання
1. Який знак операції використовується для одержання адресу змінної?
2. Який знак операції використовується для одержання значення по адресі?
3. Що таке посилання по вказівнику?
4. Що таке вказівник?
5. Які операції можна виконувати над вказівниками.
6. Операція зміщення над вказівниками?
7. Що таке адресна арифметика?
8. Що означає інкрементування вказівників?
9. Який зв’язок між елементами масиву і вказівниками.
10. Чи можна вказівники описувати разом зі змінними?