Upload
zeljko-milovancevic
View
222
Download
3
Embed Size (px)
Citation preview
6. POKAZIVAČI 1. Na ovom primjeru ćemo prikazati dvije promjenjive X i Y, koje se nalaze negdje u memoriji. Pomoću operatora adresiranja (&) pokušaćemo odrediti na kojoj memorijskoj lokaciji se nalaze.
#include <stdio.h> #include <stdlib.h> int main() { int x = 3; int y = 7; // ispisujemo vrijednost promjenjivih printf("x = %d\n",x); printf("y = %d\n",y); // ispisujemo memorijske adrese promjenjivih printf("x = %p\n",&x); printf("y = %p",&y); }
Kao izlaz iz programa dobićemo prvo vrijednosti promjenjivih x i y, a onda i njihove memorijske lokacije. Memorijske lokacije u računaru obično se predstavljaju heksadecimalnim brojevima, pa zbog toga postavljamo %p umjesto %d.
Zadatak:
Napisati standardni program koji sabira ili oduzima dva broja, a rezultat smješta u neku promjenjivu. Nakon što je program izvršen, dopisati još jedan dio programa koji će očitavati memorijske adrese svih promjenjivih korištenih u programu. Drugim rječima, ovaj dio programa će nam tačno reći gdje je locirana svaka promjenjiva u memoriji.
2. Napisati program koji sabira dva broja koristeći pokazivačke promjenjive.
#include <stdio.h> #include <stdlib.h> int main() { int x,y; int *px,*py; // svakom pokazivaču pridružujemo po jednu memorijsku lokaciju px = &x; py = &y; // unosimo x i y direktno u pokazivače, koji preko memorijske lokacije prosleđuju unesenu vrijednost // do prave promjenjive printf("Unesite x: "); scanf("%d",px); printf("Unesite y: "); scanf("%d",py); int rezultat; /* rezultat računamo kao zbir vrijednosti koje se nalaze na adresnim lokacijama koje pokazuju pokazivači */ rezultat = *px + *py; printf("Rezultat: %d",rezultat); }
Zadatak: Po uzoru na ovaj program napisati programe koji:
• sabiraju 3 broja
• oduzimaju 2 broja
• množe 2 broja i pronalaze ostatak
• rješavaju jednačinu x+2y‐z preko pokazivača naravno Napomena: Pravu primjenu pokazivača ćemo vidjeti tek u sledećoj oblasti, kada budemo pisali funkcije. Do tada je potrebno ovladati sintaksom pisanja i korišćenja pokazivačkih promjenjivih. Poznavanje osnovnih pravila i načina na koje funkcionišu pokazivačke promjenjive je ključno za dalji rad nastavnog materijala.
3. Grafički prikaz mem
orije, prilikomm korišćenja oosnovnih opeeracija sa pokazivačkim proomjenjivim.