Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!
Az mellekelt feladatrol lenne szo, illetve hogy az "extern" elotag mit is jelent. Valaszokat koszonom!
Jelenleg 1 felhasználó nézi ezt a kérdést.
c++
0
Felsőoktatás / Informatika
Válaszok
1
reimken
megoldása
A C++ nyelv tárolási osztályai - auto, register, static, extern – meghatározzák a változók élettartamát és láthatóságát. Ha nem adunk meg tárolási osztályt, így a C++ nyelv alapértelmezése érvényesül. E szerint minden függvényeken kívül definiált változó extern (globális), míg a függvényeken belül megadott változók auto (lokális) tárolási osztállyal rendelkezik. Az extern változók a program indításakor jönnek létre, és a program végéig léteznek, és eközben bárhonnan elérhetők. Ezzel szemben az auto változók csak a definíciójukat tartalmazó függvénybe való belépéskor születnek meg, és függvényből való kilépéskor törlődnek. Elérhetőségük is függvényre korlátozódik.
Elvileg az b sorra mondanám a hibát, mert a globális változókat a program futtatásakor hozza létre a memóriában a program, hiszen az egyik programban int a másikban pedig double típusként van deklarálva az ugyanolyan nevű változó. A többinél maga a linker nem ad hibát, maximum fals eredményt ad a programod, mivel szerintem a változónak lefoglalt memóriacímen a két program által számított értékek egymást írják majd felül. Bár én annyira sose ástam bele magam a c++ nyelv legmélyebb bugyraiba, így én várnék valakit aki okosabb, mint én, és rábólint.