Προς το περιεχόμενο

c δομή


anyp4kouo_ydor

Προτεινόμενες αναρτήσεις

Δημοσ.

 

 

anyp4kouo_ydor : Δέν μπορείς να έχεις παραστάσεις ξέμπαρκες μέσα στο κώδικα σου , παρα μόνο μέσα σε συναρτήσεις.

 

Τα δύο παραπάνω τα δέχεται γιατι θεωρούνται δηλώσεις/αρχικοποιήσεις global μεταβλητής

 

Δηλαδή έχω δίκιο ή όχι :huh: ;

και by the way, τι είναι οι παραστάσεις;

Δημοσ.

Δηλαδή έχω δίκιο ή όχι :huh: ;

και by the way, τι είναι οι παραστάσεις;

Το 1ο παράδειγμα είναι ορισμός μεταβλητής με αρχικοποίηση, το 2ο παράδειγμα είναι ορισμός μεταβλητής και κατόπιν εκχώρηση τιμής στη μεταβλητή και στο 3ο παράδειγμα είναι ότι και το 2ο με τη διαφορά πως την εκχώρηση την κάνεις ξέμπαρκα έξω από κάθε συνάρτηση (είναι το ίδιο πράγμα σαν να έγραφες έξω από κάθε συνάρτηση: x = 10; (illegal)

 

Σε γενικές γραμμές απόφευγε να ορίζεις καθολικές μεταβλητές, ενδέχεται να αποδειχτούν πηγές αρκετών κακών στην πορεία!

 

Η εκχώρηση είναι statement (αυτό εννοεί υποθέτω ο ektwr_ ως "παράσταση") και είναι έτσι κι αλλιώς illegal όταν γίνεται ξέμπαρκα σε global namespace.

Δημοσ.

Πάντως, θα ήταν καλύτερα να χρησιμοποιείς τα typedef για τα struct.

 

Π.χ., για το domi, θα μπορούσες να γράψεις:

 

>
typedef struct _domi{
   int    x;
   float y;
} domi, *pDomi;

 

και μετά, όποτε θέλεις να φτιάξεις μία μεταβλητή τύπου domi θα γράφεις:

 

>
domi miaDomi;

 

ή για δείκτη σε domi:

>
pDomi enasDiktisSeDomi;

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...