Programiranje u C-u
Praktična vježba 11: Pokazivači & C struktura
1. Deklariraj pokazivač na C strukturu tipa date
koji se zove dates.
struct date *dates;
2. Ako gornja struktura podataka sadrži tri integer
polja, dan, mjesec, godinu, pridruži vrijednost 10 polju day korištenjem
dates pokazivača.
dates->day = 10;
3. C struktura tipa machine sadrži dva polja,
integer koji se zove name, i pokazivač na char memory.
Pokaži kako definicija strukture izgleda.
|-----------| <---------
| | name |
|-----------| | machine
| | memory |
|-----------| <---------
4. Pokazivač zvan mpu641 tipa machine se
deklarira. Koja je naredba da se pridruži vrijednost NULL polju memory.
mpu641->memory = (char *) NULL;
5. Pridruži adresu niza znakova CPUtype polju
memory korištenjem pokazivača mpu641.
mpu641->memory = CPUtype;
6. Pridruži vrijednost 10 polju name korištenjem
pokazivača mpu641.
mpu641->name = 10;
7. Pokazivač na C strukturu times tipa time
(koji ima tri polja, sve pokazivače na integer, na day, month i year redom)
je deklariran. Uporabom pokazivača times, pridruži polju day
vrijednost 10.
*(times->day) = 10;
8. Niz pokazivača (10 elemenata) tipa time
(detaljnije objašnen pod ' 7'.), nazvanih sample se deklarira. Pridruži
polju month koji je treći element niza vrijednost 12.
*(sample[2]->month) = 12;
#include <stdio.h>
struct machine {
int name;
char *memory;
};
struct machine p1, *mpu641;
main()
{
p1.name = 3;
p1.memory = "hello";
mpu641 = &p1;
printf("ime = %d\n", mpu641->name );
printf("memory = %s\n", mpu641->memory );
mpu641->name = 10;
mpu641->memory = (char *) NULL;
printf("ime = %d\n", mpu641->name );
printf("memory = %s\n", mpu641->memory );
}
#include <stdio.h>
struct time {
int *day;
int *month;
int *year;
};
struct time t1, *times;
main()
{
int d=5, m=12, y=1995;
t1.day = &d;
t1.month = &m;
t1.year = &y;
printf("dan:mjesec:godina = %d:%d:%d\n", *t1.day, *t1.month, *t1.year );
times = &t1;
*(times->day) = 10;
printf("dan:mjesec:godina = %d:%d:%d\n", *t1.day, *t1.month, *t1.year );
}
©Copyright B Brown. 1984-1998. All rights reserved.
