Tak snad nie je programator dement a ked napise
i2 = i1 + 4
tak asi na tej adrese ma ulozeny nejaky integer
Ak robis serioznejsi/zlozitejsi program tak sa uz nehras s nejakymi statickymi poliami ale napr. si alokujem pamat pre xy integerov
i1 = malloc(xy*sizeof(int))
a potom si nastavim i2 na 5-ty integer v tomi2 = i1 + 4;
Taketo veci prekladac nema sancu kontrolovat ptz. nevie pri preklade kolko bude xy, a ani to od prekladaca nechcem aby sa mi do takychto veci montoval, to je moj problem co na tej adrese bude P.S. inac ten PI v tvojom programe by na koci IMHO neukazoval na D, ptz. lokalne premenne v zasobniku sa alokuju postupne (teda myslim ze v C to je tak), t.j. od vyssich adries k nizim (lebo zasobnik).
Inac ked ti ide o to co by precital v tvojom priklade, no precital by 4byty z toho miesta na ktore ukazuje ten pointer (ak by to bolo mimo segmentu programu tak "program proved neplatnou operaci a bude ukoncen". Prekladac nema co zaujimat co znamena to cislo ktore je ulozene na tej adrese, on ho prsote precita a tym to hasne, vyznam zaujima len programatora. Ak by ukazoval na nejake Double tak by precital prve 4 byty z Double ako integer (aj to sa moze niekedy hodit )