Program który pokazuje jak kompilator rozmieszcza zmienne w pamięci.
Ostatnio zmodyfikowano 2010-09-24 08:53
marek Temat założony przez niniejszego użytkownika |
Program który pokazuje jak kompilator rozmieszcza zmienne w pamięci. » 2010-09-21 15:28:12 Programik pokazuje:
1.Jaka jest rola kompilatora.
2.Że zmienna dla człowieka np: int ai = 1000000
to dla komputera komórka o adresie nr 2293608.
Zawartością tej komórki jest liczba 1000000. Występuje tu jednoznaczne przyporządkowanie ai --> adres 2293608
3.Jak kompilator rozmieszcza zmienne w pamięci. Nie robi tego przypadkowo, tylko jak dobry księgowy zmienne jednego typu rozmieszcza kolejno w jednym bloku pamięci.
4.Każdy bajt w pamięci ma swój adres.
5.Każda komórka pamięci to wielokrotność bajtów.
#include <iostream> int main() { using namespace std; { char ach = 'a'; char bch = 'b'; char cch = 'c'; cout << "Zmienna ach typu char jest w komorce nr " <<( long ) & ach << " i ma wartosc " << ach << "\n"; cout << "Zmienna bch typu char jest w komorce nr " <<( long ) & bch << " i ma wartosc " << bch << "\n"; cout << "Zmienna cch typu char jest w komorce nr " <<( long ) & cch << " i ma wartosc " << cch << "\n\n\n"; } { short asi = 1000; short bsi = 2000; short csi = 3000; cout << "Zmienna asi typu short jest w komorce nr " <<( long ) & asi << " i ma wartosc " << asi << "\n"; cout << "Zmienna bsi typu short jest w komorce nr " <<( long ) & bsi << " i ma wartosc " << bsi << "\n"; cout << "Zmienna bsi typu short jest w komorce nr " <<( long ) & csi << " i ma wartosc " << csi << "\n\n\n"; } { int ai = 1000000; int bi = 2000000; int ci = 3000000; cout << "Zmienna ai typu int jest w komorce nr " <<( long ) & ai << " i ma wartosc " << ai << "\n"; cout << "Zmienna bi typu int jest w komorce nr " <<( long ) & bi << " i ma wartosc " << bi << "\n"; cout << "Zmienna ci typu int jest w komorce nr " <<( long ) & ci << " i ma wartosc " << ci << "\n\n\n"; } return 0; }
|
|
SeaMonster131 |
» 2010-09-21 15:37:29 A jaki masz problem...? |
|
marek Temat założony przez niniejszego użytkownika |
» 2010-09-21 15:53:30 Nie mam problemu. Ale jako początkujący, myślę że może się komuś przydać. |
|
SeaMonster131 |
» 2010-09-21 17:07:50 To czemu dałeś w dział "[C/C++] Szukam pomocy" ? Daj w Nasze Prace itp ... :) |
|
marek Temat założony przez niniejszego użytkownika |
» 2010-09-24 08:53:14 Tak też zrobiłem i będę robił w przyszłości.
Dzięki |
|
« 1 » |