STRUKTURE KOJE SADRŽE POKAZIVAČE
Normalno da pokazivač može biti i član strukture.
struct int_pointers {
int *ptr1;
int *ptr2;
};
U primjeru iznad, struktura int_pointers definirana
je tako da sadrži dva pokazivača na integer, ptr1 i ptr2.
Varijabla tipa struct int_pointers može se definirati na normalan način,
tj.,
struct int_pointers ptrs;Varijabla ptrs može se upotrebljavati uobičajeno. Razmotrimo slijedeći program,
#include <stdio.h>
main() /* prikazuje strukture koje sadrže pokazivače */
{
struct int_pointers { int *ptr1, *ptr2; };
struct int_pointers ptrs;
int i1 = 154, i2;
ptrs.ptr1 = &i1;
ptrs.ptr2 = &i2;
*ptrs.ptr2 = -97;
printf("i1 = %d, *ptrs.ptr1 = %d\n", i1, *ptrs.ptr1);
printf("i2 = %d, *ptrs.ptr2 = %d\n", i2, *ptrs.ptr2);
}
Slijedeći dijagram bi mogao pomoći da shvatite povezanosti,
|------------| | i1 |<-------------- |------------| | | i2 |<------- | |------------| | | | | | | |------------| | | | ptr1 |--------------- |------------| | ptrs | ptr2 |-------- |------------|