Dichiarazione vs Prototipo vs. Simbolo vs. Definizione vs. Implementazione

4

Vedo i termini "dichiarazione", "prototipo" e "simbolo" generati in modo intercambiabile molto quando si tratta di codice simile al seguente:

void MyUndefinedFunction();

Lo stesso vale per "definizione" e "implementazione" per cose come questa:

void MyClass::MyMethod()
{
    // Actual code here.
}

Ci sono delle distinzioni tra i termini, o sono veramente sinonimi?

EDIT: non sono sicuro se questo appartiene a Stack Overflow ...

    
posta Maxpm 02.05.2011 - 00:25
fonte

2 risposte

3

In C, sono diversi.

Un "simbolo" è il nome di una variabile, costante o funzione, ad es. i, sqrt o valore.

Una "dichiarazione" indica che la variabile, la costante o la funzione date esiste e ne indica il tipo, ad es.

const int i;
double sqrt();
float value;

Un "prototipo" fornisce informazioni sugli argomenti di una funzione e sul suo tipo di ritorno, ad es.

double sqrt(double value);
    
risposta data 02.05.2011 - 02:48
fonte
1

Le dichiarazioni sono semplicemente l'atto di dichiarare una variabile nell'esistenza. La definizione è ciò che tiene una variabile, o il codice che verrà eseguito da una funzione.

void MyUndefinedFunction (); è un prototipo perché non viene definito per fare nulla (viene dichiarato). Implementare una variabile o una funzione sarebbe l'atto di usarlo, o implementarlo nel tuo codice, per realizzare un compito.

void MyFunction(); // The function prototype

void MyFunctoin() {

// The code to be executed by MyFunction() (the definition)

}

if (something happens) {

MyFunction() // The implementation of the function into your program

}
    
risposta data 02.05.2011 - 00:53
fonte

Leggi altre domande sui tag