Με απλά λόγια, για τους αρχάριους, ποια είναι η διαφορά μεταξύ της "δήλωσης" και του "ορισμού" στο C;


Απάντηση 1:

Στο πλαίσιο της γλώσσας C, η δήλωση αναφέρεται στο να λέει στον μεταγλωττιστή το όνομα, τον τύπο και την υπογραφή λειτουργιών ή μεθόδων.

Π.χ:

/ * Δήλωση λειτουργιών * /
<ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ> FooBar (Λίστα Αργιών με τύπο δεδομένων).

Μπορούμε εδώ να δούμε ότι τελειώνει με ένα ερωτηματικό και είναι ένας κώδικας μιας γραμμής, ο οποίος λέει απλώς το όνομα του compiler, το όρισμα και τον τύπο επιστροφής μιας συνάρτησης.

Ενώ ο ορισμός αφορά τον ορισμό του πραγματικού περιεχομένου (σώματος) αυτής της λειτουργίας. Το οποίο περιλαμβάνει όλους τους κώδικες και τις λογικές και όλα αυτά, τα οποία περιγράφουν την πραγματική λειτουργία.

Π.χ:

/ * Ορισμός συνάρτησης * /
 FooBar (Λίστα συμβόλων με τύπο δεδομένων)
{
  / * Δήλωση τοπικών μεταβλητών * /
  / *
   Γραμμές κώδικα που περιέχουν πραγματική λογική προγράμματος
  * /
   επιστροφή <κάτι με τύπο δεδομένων που ορίζεται στη γραμμή # 2>?
}}

Στο C, πρέπει να γίνει δήλωση πριν χρησιμοποιηθεί αυτή η λειτουργία, έτσι ώστε ο μεταγλωττιστής να μην πετάει λάθος, όπου ο ορισμός της λειτουργίας θα μπορούσε να είναι οπουδήποτε στο τρέχον πεδίο εφαρμογής του προγράμματος.

Σας ευχαριστώ


Απάντηση 2:

Μια δήλωση ενημερώνει τον μεταγλωττιστή εκ των προτέρων για τον τύπο, το μέγεθος της μεταβλητής και για τις παραμέτρους, τον τύπο επιστροφής της λειτουργίας.

Δεν υπάρχει κατανομή μνήμης κατά τη διάρκεια της δήλωσης.

ex: int j;

Ορισμός: "καθορίζει" τι κάνει αυτή η μεταβλητή / λειτουργία, ποια αξία θα πάρει. Η πραγματική κατανομή της μνήμης συμβαίνει μετά τον ορισμό.

ex: j = 3.


Απάντηση 3:

Μια δήλωση είναι ακριβώς αυτή - είναι εκεί για να πει στον μεταγλωττιστή να περιμένει να βρει τον ορισμό αργότερα στον πηγαίο κώδικα. Συνήθως είναι σε ένα αρχείο κεφαλίδας (επέκταση .h ή .hpp) και η προέλευση (c ή επέκταση cpp) θα έχει συνήθως τον ορισμό. Ο σκοπός της δήλωσης είναι να επιτρέψει σε έναν προγραμματιστή που χρησιμοποιεί τη λειτουργία ή την κλάση που δηλώνετε ότι είναι σε θέση να χρησιμοποιήσει τη λειτουργία ή την κλάση - δεν χρειάζονται τον ορισμό, καθώς αυτός είναι ο πηγαίος κώδικας που λέει στον μεταγλωττιστή πώς να κάνει πραγματικά η συνάρτηση / κλάση πρέπει να κάνει, αλλά η δήλωση τους λέει τι επιστρέφει η συνάρτηση, ποια επιχειρήματα λαμβάνει η λειτουργία και το όνομα της συνάρτησης έτσι ώστε να μπορεί αργότερα να καλέσει τη λειτουργία από τον κωδικό τους. Εάν δεν ήταν σαφής μέχρι τώρα, ο ορισμός έχει τον πηγαίο κώδικα για τον ορισμό (εξ ου και η λέξη "ορισμός") της συνάρτησης. Ένα παράδειγμα και των δύο είναι εδώ:

//δήλωση
int doSomething (int x, int y);

//ορισμός
int doSomething (int x, int)
{
επιστροφή (x * y);
}}

Απάντηση 4:

Μια δήλωση είναι ακριβώς αυτή - είναι εκεί για να πει στον μεταγλωττιστή να περιμένει να βρει τον ορισμό αργότερα στον πηγαίο κώδικα. Συνήθως είναι σε ένα αρχείο κεφαλίδας (επέκταση .h ή .hpp) και η προέλευση (c ή επέκταση cpp) θα έχει συνήθως τον ορισμό. Ο σκοπός της δήλωσης είναι να επιτρέψει σε έναν προγραμματιστή που χρησιμοποιεί τη λειτουργία ή την κλάση που δηλώνετε ότι είναι σε θέση να χρησιμοποιήσει τη λειτουργία ή την κλάση - δεν χρειάζονται τον ορισμό, καθώς αυτός είναι ο πηγαίος κώδικας που λέει στον μεταγλωττιστή πώς να κάνει πραγματικά η συνάρτηση / κλάση πρέπει να κάνει, αλλά η δήλωση τους λέει τι επιστρέφει η συνάρτηση, ποια επιχειρήματα λαμβάνει η λειτουργία και το όνομα της συνάρτησης έτσι ώστε να μπορεί αργότερα να καλέσει τη λειτουργία από τον κωδικό τους. Εάν δεν ήταν σαφής μέχρι τώρα, ο ορισμός έχει τον πηγαίο κώδικα για τον ορισμό (εξ ου και η λέξη "ορισμός") της συνάρτησης. Ένα παράδειγμα και των δύο είναι εδώ:

//δήλωση
int doSomething (int x, int y);

//ορισμός
int doSomething (int x, int)
{
επιστροφή (x * y);
}}

Απάντηση 5:

Μια δήλωση είναι ακριβώς αυτή - είναι εκεί για να πει στον μεταγλωττιστή να περιμένει να βρει τον ορισμό αργότερα στον πηγαίο κώδικα. Συνήθως είναι σε ένα αρχείο κεφαλίδας (επέκταση .h ή .hpp) και η προέλευση (c ή επέκταση cpp) θα έχει συνήθως τον ορισμό. Ο σκοπός της δήλωσης είναι να επιτρέψει σε έναν προγραμματιστή που χρησιμοποιεί τη λειτουργία ή την κλάση που δηλώνετε ότι είναι σε θέση να χρησιμοποιήσει τη λειτουργία ή την κλάση - δεν χρειάζονται τον ορισμό, καθώς αυτός είναι ο πηγαίος κώδικας που λέει στον μεταγλωττιστή πώς να κάνει πραγματικά η συνάρτηση / κλάση πρέπει να κάνει, αλλά η δήλωση τους λέει τι επιστρέφει η συνάρτηση, ποια επιχειρήματα λαμβάνει η λειτουργία και το όνομα της συνάρτησης έτσι ώστε να μπορεί αργότερα να καλέσει τη λειτουργία από τον κωδικό τους. Εάν δεν ήταν σαφής μέχρι τώρα, ο ορισμός έχει τον πηγαίο κώδικα για τον ορισμό (εξ ου και η λέξη "ορισμός") της συνάρτησης. Ένα παράδειγμα και των δύο είναι εδώ:

//δήλωση
int doSomething (int x, int y);

//ορισμός
int doSomething (int x, int)
{
επιστροφή (x * y);
}}

Απάντηση 6:

Μια δήλωση είναι ακριβώς αυτή - είναι εκεί για να πει στον μεταγλωττιστή να περιμένει να βρει τον ορισμό αργότερα στον πηγαίο κώδικα. Συνήθως είναι σε ένα αρχείο κεφαλίδας (επέκταση .h ή .hpp) και η προέλευση (c ή επέκταση cpp) θα έχει συνήθως τον ορισμό. Ο σκοπός της δήλωσης είναι να επιτρέψει σε έναν προγραμματιστή που χρησιμοποιεί τη λειτουργία ή την κλάση που δηλώνετε ότι είναι σε θέση να χρησιμοποιήσει τη λειτουργία ή την κλάση - δεν χρειάζονται τον ορισμό, καθώς αυτός είναι ο πηγαίος κώδικας που λέει στον μεταγλωττιστή πώς να κάνει πραγματικά η συνάρτηση / κλάση πρέπει να κάνει, αλλά η δήλωση τους λέει τι επιστρέφει η συνάρτηση, ποια επιχειρήματα λαμβάνει η λειτουργία και το όνομα της συνάρτησης έτσι ώστε να μπορεί αργότερα να καλέσει τη λειτουργία από τον κωδικό τους. Εάν δεν ήταν σαφής μέχρι τώρα, ο ορισμός έχει τον πηγαίο κώδικα για τον ορισμό (εξ ου και η λέξη "ορισμός") της συνάρτησης. Ένα παράδειγμα και των δύο είναι εδώ:

//δήλωση
int doSomething (int x, int y);

//ορισμός
int doSomething (int x, int)
{
επιστροφή (x * y);
}}

Απάντηση 7:

Μια δήλωση είναι ακριβώς αυτή - είναι εκεί για να πει στον μεταγλωττιστή να περιμένει να βρει τον ορισμό αργότερα στον πηγαίο κώδικα. Συνήθως είναι σε ένα αρχείο κεφαλίδας (επέκταση .h ή .hpp) και η προέλευση (c ή επέκταση cpp) θα έχει συνήθως τον ορισμό. Ο σκοπός της δήλωσης είναι να επιτρέψει σε έναν προγραμματιστή που χρησιμοποιεί τη λειτουργία ή την κλάση που δηλώνετε ότι είναι σε θέση να χρησιμοποιήσει τη λειτουργία ή την κλάση - δεν χρειάζονται τον ορισμό, καθώς αυτός είναι ο πηγαίος κώδικας που λέει στον μεταγλωττιστή πώς να κάνει πραγματικά η συνάρτηση / κλάση πρέπει να κάνει, αλλά η δήλωση τους λέει τι επιστρέφει η συνάρτηση, ποια επιχειρήματα λαμβάνει η λειτουργία και το όνομα της συνάρτησης έτσι ώστε να μπορεί αργότερα να καλέσει τη λειτουργία από τον κωδικό τους. Εάν δεν ήταν σαφής μέχρι τώρα, ο ορισμός έχει τον πηγαίο κώδικα για τον ορισμό (εξ ου και η λέξη "ορισμός") της συνάρτησης. Ένα παράδειγμα και των δύο είναι εδώ:

//δήλωση
int doSomething (int x, int y);

//ορισμός
int doSomething (int x, int)
{
επιστροφή (x * y);
}}

Απάντηση 8:

Μια δήλωση είναι ακριβώς αυτή - είναι εκεί για να πει στον μεταγλωττιστή να περιμένει να βρει τον ορισμό αργότερα στον πηγαίο κώδικα. Συνήθως είναι σε ένα αρχείο κεφαλίδας (επέκταση .h ή .hpp) και η προέλευση (c ή επέκταση cpp) θα έχει συνήθως τον ορισμό. Ο σκοπός της δήλωσης είναι να επιτρέψει σε έναν προγραμματιστή που χρησιμοποιεί τη λειτουργία ή την κλάση που δηλώνετε ότι είναι σε θέση να χρησιμοποιήσει τη λειτουργία ή την κλάση - δεν χρειάζονται τον ορισμό, καθώς αυτός είναι ο πηγαίος κώδικας που λέει στον μεταγλωττιστή πώς να κάνει πραγματικά η συνάρτηση / κλάση πρέπει να κάνει, αλλά η δήλωση τους λέει τι επιστρέφει η συνάρτηση, ποια επιχειρήματα λαμβάνει η λειτουργία και το όνομα της συνάρτησης έτσι ώστε να μπορεί αργότερα να καλέσει τη λειτουργία από τον κωδικό τους. Εάν δεν ήταν σαφής μέχρι τώρα, ο ορισμός έχει τον πηγαίο κώδικα για τον ορισμό (εξ ου και η λέξη "ορισμός") της συνάρτησης. Ένα παράδειγμα και των δύο είναι εδώ:

//δήλωση
int doSomething (int x, int y);

//ορισμός
int doSomething (int x, int)
{
επιστροφή (x * y);
}}

Απάντηση 9:

Μια δήλωση είναι ακριβώς αυτή - είναι εκεί για να πει στον μεταγλωττιστή να περιμένει να βρει τον ορισμό αργότερα στον πηγαίο κώδικα. Συνήθως είναι σε ένα αρχείο κεφαλίδας (επέκταση .h ή .hpp) και η προέλευση (c ή επέκταση cpp) θα έχει συνήθως τον ορισμό. Ο σκοπός της δήλωσης είναι να επιτρέψει σε έναν προγραμματιστή που χρησιμοποιεί τη λειτουργία ή την κλάση που δηλώνετε ότι είναι σε θέση να χρησιμοποιήσει τη λειτουργία ή την κλάση - δεν χρειάζονται τον ορισμό, καθώς αυτός είναι ο πηγαίος κώδικας που λέει στον μεταγλωττιστή πώς να κάνει πραγματικά η συνάρτηση / κλάση πρέπει να κάνει, αλλά η δήλωση τους λέει τι επιστρέφει η συνάρτηση, ποια επιχειρήματα λαμβάνει η λειτουργία και το όνομα της συνάρτησης έτσι ώστε να μπορεί αργότερα να καλέσει τη λειτουργία από τον κωδικό τους. Εάν δεν ήταν σαφής μέχρι τώρα, ο ορισμός έχει τον πηγαίο κώδικα για τον ορισμό (εξ ου και η λέξη "ορισμός") της συνάρτησης. Ένα παράδειγμα και των δύο είναι εδώ:

//δήλωση
int doSomething (int x, int y);

//ορισμός
int doSomething (int x, int)
{
επιστροφή (x * y);
}}