Witam, mieliśmy na zajęciach ćwiczenie dotyczące adresów zmiennych w C i niestety nic z niego nie rozumiem. Czy ktoś mógłby mi wytłumaczyć o co tutaj chodzi? Mam polecenia do zadania:
- Na podstawie różnicy adresów oblicz rozmiar pamięci zarezerwowany dla zmiennej.
- Analogicznie sprawdź rozmiary zmiennych innych typów.
Oto kod programu:
#include<stdio.h>
int main()
{
short krotka1=12345, krotka2=54321;
printf("Zmienna \"krotka1\" - wartosc: %hi , adres: %p", krotka1, &krotka1);
printf("\n");
printf("Zmienna \"krotka2\" - wartosc: %hi , adres: %p", krotka2, &krotka2);
printf("\n");
return 0;
}
Program wyświetla coś takiego:
Zmienna "krotka1" - wartosc: 12345 , adres: 0xbf97eee2
Zmienna "krotka2" - wartosc: -11215 , adres: 0xbf97eee0
I jak na podstawie różnicy tych adresów mam podać rozmiar pamięci zarezerwowany dla zmiennej? Oraz co oznaczają kolejne polecenia "%hi" oraz "%p"?
Z góry dzięki za pomoc!