Kezdőoldal » Számítástechnika » Programozás » Miért van az, hogy egyesek az...

Miért van az, hogy egyesek az int a; utasítást definíciónak nevezik, és az extern int a;-t nevezik deklarációnak, de a tananyagok túlnyomó részében az int a;-t mégiscsak deklarációnak nevezik?

Figyelt kérdés

2019. febr. 10. 16:49
 1/3 anonim ***** válasza:

Ugyanis a definíció egyben tartalmazhat deklarációt is:

"A declaration is a definition unless...

...it contains the extern specifier"

[link]


"Declarations also serve as definitions, except when the declaration:

...

Contains the extern specifier but no initializer (objects and variables) or function body (functions). This signifies that the definition is not necessarily in the current translation unit and gives the name external linkage."

[link]

2019. febr. 10. 18:00
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
Próbáld úgy közelíteni, hogy a deklaráció csak a fordítónak szóló infó, a definíció pedig azon a ponton a kódba is bekerül. Extern esetén nem hozunk létre új változót vagy függvényt, stb., csak jelezzük a fordítónak, hogy ha ilyen szimbólumot talál abban a fordítási egységben, akkor ne essen kétségbe, nem kell semmit létrehozni, csak csinálja meg a hivatkozást, és a linker majd feloldja, mert már létezik máshol.
2019. febr. 10. 21:14
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:

Egy eltés C++ tanár adta ezt a választ:

"Az int a; az definíció és deklaráció is egyben

Így technikailag ha valaki deklarációnak hívja az is korrekt de nem precíz.

C++-ban majdnem minden definíció egyben deklaráció is.

A statikus adattagoknál van talán az egyetlen kivétel."

2019. febr. 11. 14:50

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!