Zjednodušeně řečeno, jaký je rozdíl mezi „deklarací“ a „definicí“ pro nováčky v C?
Odpověď 1:
V kontextu jazyka C se Deklarace týká kompilátoru, který říká jméno, typ a podpis funkcí nebo metod.
Např:
/ * Prohlášení funkce * /FooBar (Seznam argumentů s datovým typem);
Zde vidíme, že končí středníkem a jedná se o jednobodový kód, který pouze řekne jméno kompilátoru, argument a návratový typ funkce.
Definice je o definování skutečného obsahu (těla) této funkce. Což zahrnuje všechny kódy a logiku a vše, co popisuje, jaká funkce ve skutečnosti funguje.
Např:
/ * Definování funkce * /FooBar (seznam argumentů s datovým typem) { / * Prohlášení o lokální proměnné * / / * Řádky kódu obsahující skutečnou logiku programu * / return ; }
V C je třeba provést deklaraci, aby byla použita tato funkce, takže kompilátor nevyvolá chybu, kde by definice funkce mohla být kdekoli v aktuálním rozsahu programu.
Děkuji
Odpověď 2:
Deklarace informuje kompilátor předem o typu, velikosti proměnné ao parametrech, typu vrácení funkce.
Během deklarace nedochází k žádnému přidělení paměti.
ex: int j;
Definice: „Definuje“, co daná proměnná / funkce dělá, jakou hodnotu přijme. Skutečné přidělení paměti nastane po definici.
ex: j = 3;
Odpověď 3:
Prohlášení je jen to, že kompilátoru je řečeno, že očekává, že najde definici později ve zdrojovém kódu. Obvykle se jedná o soubor záhlaví (přípona .h nebo .hpp) a zdroj (přípona c nebo cpp) bude mít definici obvykle. Účelem deklarace je umožnit programátorovi, který používá funkci nebo třídu, kterou deklarujete, aby mohli tuto funkci nebo třídu používat - nepotřebují definici, protože to je zdrojový kód, který kompilátoru říká, jak skutečně dělat, co funkce / třída by měla dělat, ale deklarace jim řekne, co funkce vrací, jaké argumenty funkce bere a název funkce, aby mohli později funkci volat z jejich kódu. Pokud to dosud nebylo jasné, má definice zdrojový kód pro definování funkce (tedy slovo „definice“). Příklad obou je zde:
//prohlášení int doSomething (int x, int y); //definice int doSomething (int x, int y) { návrat (x * y); }
Odpověď 4:
Prohlášení je jen to, že kompilátoru je řečeno, že očekává, že najde definici později ve zdrojovém kódu. Obvykle se jedná o soubor záhlaví (přípona .h nebo .hpp) a zdroj (přípona c nebo cpp) bude mít definici obvykle. Účelem deklarace je umožnit programátorovi, který používá funkci nebo třídu, kterou deklarujete, aby mohli tuto funkci nebo třídu používat - nepotřebují definici, protože to je zdrojový kód, který kompilátoru říká, jak skutečně dělat, co funkce / třída by měla dělat, ale deklarace jim řekne, co funkce vrací, jaké argumenty funkce bere a název funkce, aby mohli později funkci volat z jejich kódu. Pokud to dosud nebylo jasné, má definice zdrojový kód pro definování funkce (tedy slovo „definice“). Příklad obou je zde:
//prohlášení int doSomething (int x, int y); //definice int doSomething (int x, int y) { návrat (x * y); }
Odpověď 5:
Prohlášení je jen to, že kompilátoru je řečeno, že očekává, že najde definici později ve zdrojovém kódu. Obvykle se jedná o soubor záhlaví (přípona .h nebo .hpp) a zdroj (přípona c nebo cpp) bude mít definici obvykle. Účelem deklarace je umožnit programátorovi, který používá funkci nebo třídu, kterou deklarujete, aby mohli tuto funkci nebo třídu používat - nepotřebují definici, protože to je zdrojový kód, který kompilátoru říká, jak skutečně dělat, co funkce / třída by měla dělat, ale deklarace jim řekne, co funkce vrací, jaké argumenty funkce bere a název funkce, aby mohli později funkci volat z jejich kódu. Pokud to dosud nebylo jasné, má definice zdrojový kód pro definování funkce (tedy slovo „definice“). Příklad obou je zde:
//prohlášení int doSomething (int x, int y); //definice int doSomething (int x, int y) { návrat (x * y); }
Odpověď 6:
Prohlášení je jen to, že kompilátoru je řečeno, že očekává, že najde definici později ve zdrojovém kódu. Obvykle se jedná o soubor záhlaví (přípona .h nebo .hpp) a zdroj (přípona c nebo cpp) bude mít definici obvykle. Účelem deklarace je umožnit programátorovi, který používá funkci nebo třídu, kterou deklarujete, aby mohli tuto funkci nebo třídu používat - nepotřebují definici, protože to je zdrojový kód, který kompilátoru říká, jak skutečně dělat, co funkce / třída by měla dělat, ale deklarace jim řekne, co funkce vrací, jaké argumenty funkce bere a název funkce, aby mohli později funkci volat z jejich kódu. Pokud to dosud nebylo jasné, má definice zdrojový kód pro definování funkce (tedy slovo „definice“). Příklad obou je zde:
//prohlášení int doSomething (int x, int y); //definice int doSomething (int x, int y) { návrat (x * y); }
Odpověď 7:
Prohlášení je jen to, že kompilátoru je řečeno, že očekává, že najde definici později ve zdrojovém kódu. Obvykle se jedná o soubor záhlaví (přípona .h nebo .hpp) a zdroj (přípona c nebo cpp) bude mít definici obvykle. Účelem deklarace je umožnit programátorovi, který používá funkci nebo třídu, kterou deklarujete, aby mohli tuto funkci nebo třídu používat - nepotřebují definici, protože to je zdrojový kód, který kompilátoru říká, jak skutečně dělat, co funkce / třída by měla dělat, ale deklarace jim řekne, co funkce vrací, jaké argumenty funkce bere a název funkce, aby mohli později funkci volat z jejich kódu. Pokud to dosud nebylo jasné, má definice zdrojový kód pro definování funkce (tedy slovo „definice“). Příklad obou je zde:
//prohlášení int doSomething (int x, int y); //definice int doSomething (int x, int y) { návrat (x * y); }
Odpověď 8:
Prohlášení je jen to, že kompilátoru je řečeno, že očekává, že najde definici později ve zdrojovém kódu. Obvykle se jedná o soubor záhlaví (přípona .h nebo .hpp) a zdroj (přípona c nebo cpp) bude mít definici obvykle. Účelem deklarace je umožnit programátorovi, který používá funkci nebo třídu, kterou deklarujete, aby mohli tuto funkci nebo třídu používat - nepotřebují definici, protože to je zdrojový kód, který kompilátoru říká, jak skutečně dělat, co funkce / třída by měla dělat, ale deklarace jim řekne, co funkce vrací, jaké argumenty funkce bere a název funkce, aby mohli později funkci volat z jejich kódu. Pokud to dosud nebylo jasné, má definice zdrojový kód pro definování funkce (tedy slovo „definice“). Příklad obou je zde:
//prohlášení int doSomething (int x, int y); //definice int doSomething (int x, int y) { návrat (x * y); }
Odpověď 9:
Prohlášení je jen to, že kompilátoru je řečeno, že očekává, že najde definici později ve zdrojovém kódu. Obvykle se jedná o soubor záhlaví (přípona .h nebo .hpp) a zdroj (přípona c nebo cpp) bude mít definici obvykle. Účelem deklarace je umožnit programátorovi, který používá funkci nebo třídu, kterou deklarujete, aby mohli tuto funkci nebo třídu používat - nepotřebují definici, protože to je zdrojový kód, který kompilátoru říká, jak skutečně dělat, co funkce / třída by měla dělat, ale deklarace jim řekne, co funkce vrací, jaké argumenty funkce bere a název funkce, aby mohli později funkci volat z jejich kódu. Pokud to dosud nebylo jasné, má definice zdrojový kód pro definování funkce (tedy slovo „definice“). Příklad obou je zde:
//prohlášení int doSomething (int x, int y); //definice int doSomething (int x, int y) { návrat (x * y); }