Σπίτι Προσωπικά Οικονομικά Βασικά στοιχεία της δομής για προγραμματισμό C - ανδρείκελα

Βασικά στοιχεία της δομής για προγραμματισμό C - ανδρείκελα

Πίνακας περιεχομένων:

Βίντεο: Προγραμματισμός με Unity3D : Βασικά Στοιχεία 2024

Βίντεο: Προγραμματισμός με Unity3D : Βασικά Στοιχεία 2024
Anonim

Μπορείτε να σκεφτείτε τη δομή της γλώσσας προγραμματισμού C ως πολλαπλών μεταβλητών, ή μερικές μεταβλητές σε μία. Χρησιμοποιείτε δομές για την αποθήκευση ή την πρόσβαση σε πολύπλοκες πληροφορίες. Με αυτόν τον τρόπο, μπορείτε να διατηρήσετε διάφορες μεταβλητές int, char, float, ακόμα και συστοιχίες, όλες σε ένα πακέτο.

Βασικά στοιχεία struct

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

Όνομα Χρέος Τυχερών Παιχνιδιών

Αυτά τα τρία στοιχεία μπορούν να είναι πεδία σε αρχείο βάσης δεδομένων, αλλά μπορούν επίσης να είναι μέλη σε μια δομή: Το όνομα θα είναι μια συμβολοσειρά. Ηλικία, ένας ακέραιος αριθμός. και το χρέος τζόγου, μια αξία υποδιαστολής με κινητά. Εδώ είναι πώς ένα τέτοιο αρχείο θα φαινόταν ως δομή στο C:

struct record {char name [32]; int age? float χρέος?}?

struct είναι μια λέξη-κλειδί γλώσσας C που εισάγει, ορίζει ή δημιουργεί μια νέα δομή.

είναι το όνομα της νέας δομής που δημιουργείται.

Μέσα στα στρογγυλά άγκιστρα παραμένουν τα μέλη της δομής, οι μεταβλητές που περιέχονται στη δομή που ονομάζεται. Ο τύπος δομής εγγραφής περιέχει τρεις μεταβλητές μέλη: ένα όνομα συμβολοσειράς, μια ονομαστική ηλικία int και μια τιμή float, χρέος.

Για να χρησιμοποιήσετε τη δομή, πρέπει να δηλώσετε μια μεταβλητή δομής του τύπου δομής που δημιουργήσατε. Για παράδειγμα:

δομή καταγραφή ανθρώπου?

Αυτή η γραμμή δηλώνει μια νέα μεταβλητή του τύπου της δομής εγγραφής. Η νέα μεταβλητή ονομάζεται ανθρώπινη .

Οι μεταβλητές δομής μπορούν επίσης να δηλωθούν όταν καθορίζετε την ίδια τη δομή. Για παράδειγμα:

record record {char name [32]; int age? float χρέος ·} άνθρωπος?

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

record record {char name [32]; int age? float χρέος ·} νομοσχέδιο, mary, dan, susie?

Στο παράδειγμα αυτό δημιουργούνται τέσσερις μεταβλητές δομής εγγραφής. Κάθε μεταβλητή έχει πρόσβαση στα τρία μέλη που ορίζονται στη δομή.

Για να έχετε πρόσβαση σε μέλη σε μια μεταβλητή δομής, χρησιμοποιείτε μια περίοδο, η οποία είναι ο χειριστής-μέλος . Συνδέει το όνομα μεταβλητής δομής με ένα όνομα μέλους. Για παράδειγμα:

printf ("Θύμα:% sn", όνομα λογαριασμού);

Αυτή η δήλωση αναφέρει το μέλος όνομα στη μεταβλητή δομής . Μια συστοιχία χαρακτήρων, μπορεί να χρησιμοποιηθεί στον κώδικα σας όπως και κάθε άλλη συστοιχία char. Άλλα μέλη της μεταβλητής δομής μπορούν να χρησιμοποιηθούν όπως και τα μεμονωμένα αντίστοιχά τους:

dan.ηλικία = 32;

Πώς να γεμίσετε μια δομή

Όπως και με άλλες μεταβλητές, μπορείτε να αντιστοιχίσετε τιμές σε μια μεταβλητή δομής όταν δημιουργηθεί. Πρέπει πρώτα να καθορίσετε τον τύπο δομής και στη συνέχεια να δηλώσετε μια μεταβλητή δομής με τις προκαθορισμένες τιμές μελών. Βεβαιωθείτε ότι οι προκαθορισμένες τιμές ταιριάζουν με τη σειρά και τον τύπο των μελών που ορίζονται στη δομή, όπως φαίνεται στο Δηλώνοντας μία αρχικοποιημένη δομή.

ΔΗΛΩΣΗ ΙΣΤΟΡΙΚΗΣ ΔΟΜΗΣ

#include int main () {struct president {όνομα char [40]; int year}}. ο πρώτος πρόεδρος = {"George Washington", 1789}. printf ("Ο πρώτος πρόεδρος ήταν% sn", πρώτο όνομα); printf ("Εγκαινιάστηκε στο% dn", πρώτο έτος)? επιστροφή (0)?}

Άσκηση 1 : Δημιουργήστε ένα νέο πρόγραμμα πληκτρολογώντας τον πηγαίο κώδικα από την Δηλωση αρχικοποιημένης δομής στον επεξεργαστή. Κατασκευάστε και τρέξτε.

Μπορείτε επίσης να δηλώσετε μια δομή και να την αρχικοποιήσετε σε μία δήλωση:

struct president {όνομα char [40]; int έτος}} πρώτα = {"George Washington", 1789}?

Άσκηση 2 : Τροποποιήστε τον πηγαίο κώδικα από την Άσκηση 1 έτσι ώστε η δομή και η μεταβλητή να δηλωθούν και να αρχικοποιηθούν ως μία δήλωση.

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

Άσκηση 3 : Προσθέστε μια άλλη μεταβλητή δομής προέδρου στον κωδικό σας, αρχικοποιώντας αυτή τη δομή με πληροφορίες για τον δεύτερο πρόεδρο John Adams, ο οποίος εγκαινιάστηκε το 1797. Εμφάνιση των περιεχομένων και των δύο δομών.

Πώς να φτιάξετε μια σειρά δομών

Η δημιουργία μεταβλητών ατομικής δομής, το ένα μετά το άλλο, είναι τόσο βαρετή και σπάταλη όσο δημιουργεί μια σειρά οποιουδήποτε μεμονωμένου μεταβλητού τύπου. Η λύση για πολλές δομές είναι η ίδια με αυτή για πολλαπλές μεμονωμένες μεταβλητές: μια συστοιχία.

Ο πίνακας δομών δηλώνεται ως εξής:

struct scores player [4];

Αυτή η δήλωση δηλώνει μια σειρά δομών σκορ. Ο πίνακας ονομάζεται παίκτης και περιέχει τέσσερις μεταβλητές δομής ως στοιχεία του.

Οι δομές στη συστοιχία προσπελάστηκαν χρησιμοποιώντας έναν συνδυασμό συστοιχίας και δομής. Για παράδειγμα:

player [2]. όνομα

Η μεταβλητή στην προηγούμενη γραμμή προσεγγίζει το μέλος ονόματος στο τρίτο στοιχείο της συστοιχίας δομών αναπαραγωγής. Ναι, αυτό είναι το τρίτο στοιχείο, επειδή το πρώτο στοιχείο θα αναφέρεται ως εξής:

παίκτης [0]. όνομα

Αρχίζει η αρίθμηση με το στοιχείο 0, όχι με το στοιχείο 1.

Η γραμμή 10 σε Arrays of Structures δηλώνει μια σειρά τεσσάρων δομών βαθμολογίας. Ο πίνακας ονομάζεται παίκτης. Οι γραμμές 13 έως 19 πληρούν κάθε δομή στη συστοιχία. Οι γραμμές 21 έως 27 εμφανίζουν τις τιμές μελών κάθε δομής.

ΚΑΛΛΙΕΡΓΕΙΕΣ ΔΟΜΩΝ

#include int main () {δομήματα {char όνομα [32]; int βαθμολογία;}; struct scores player [4]. int x; για το (x = 0; x <4; x ++) {printf ("Εισάγετε τον παίκτη% d:", x + 1); scanf ("% s", παίκτης [x].όνομα); printf ("Εισάγετε το σκορ:"); Σάρωση ("% d", & player [x].))}} ("Πληροφορίες παίκτη"). printf ("# tNametScoren"); (x = 0, x <4, x ++) {printf ("% dt% st% 5dn", x + 1, player [x].

Άσκηση 4 : Πληκτρολογήστε τον πηγαίο κώδικα από Arrays of Structures στον επεξεργαστή σας. Δημιουργήστε και εκτελέστε το πρόγραμμα. Προσπαθήστε να κρατήσετε τα αποτελέσματα σε λιγότερα από πέντε ψηφία, ώστε να ταξινομηθούν σωστά.

Άσκηση 5 : Προσθέστε κώδικα σε Arrays of Structures έτσι ώστε η εμφάνιση δομών να ταξινομείται με την υψηλότερη βαθμολογία που αναφέρεται πρώτα. Ναι, μπορείτε να το κάνετε αυτό. Η ταξινόμηση μιας σειράς δομών λειτουργεί ακριβώς όπως τη διαλογή οποιουδήποτε άλλου πίνακα.

Ακολουθεί μια υπαινιγμός: Η γραμμή 27 της λύσης μοιάζει με αυτή:

παίκτης [a] = παίκτης [b];

Μπορείτε να ανταλλάξετε στοιχεία συστοιχίας δομών ακριβώς όπως μπορείτε να ανταλλάξετε οποιαδήποτε στοιχεία πίνακα. Δεν χρειάζεται να ανταλλάξετε τα μέλη της μεταβλητής δομής.

Βασικά στοιχεία της δομής για προγραμματισμό C - ανδρείκελα

Η επιλογή των συντακτών

Εξαρτήματα ηλεκτρονικών: Ενισχυτές ανοιχτού βρόχου

Εξαρτήματα ηλεκτρονικών: Ενισχυτές ανοιχτού βρόχου

Οι πιο βασικές ηλεκτρονικές χρήσεις ενός ενισχυτή Op είναι ως ενισχυτής. Εάν συνδέσετε μια πηγή εισόδου σε έναν από τους ακροδέκτες εισόδου και γειώσετε τον άλλο ακροδέκτη εισόδου, εμφανίζεται μια ενισχυμένη έκδοση του σήματος εισόδου στο εξωτερικό τερματικό. Μια σημαντική ιδέα στα κυκλώματα op-amp ...

Ηλεκτρονικά Στοιχεία: Δημοφιλή Op Amp Ενσωματωμένα Κυκλώματα - Dummy

Ηλεκτρονικά Στοιχεία: Δημοφιλή Op Amp Ενσωματωμένα Κυκλώματα - Dummy

Για την οικοδόμηση ενός πραγματικού ηλεκτρονικού κυκλώματος χρησιμοποιώντας Op-amp, φυσικά, θα πρέπει να χρησιμοποιήσετε ένα πραγματικό ενισχυτή op. Ευτυχώς, τα ενσωματωμένα ολοκληρωμένα κυκλώματα (IC) είναι άφθονα και σχεδόν όλα τα καταστήματα που πωλούν ηλεκτρονικά εξαρτήματα πωλούν διάφορους τύπους φθηνών IC-ενισχυτών. Το πιο δημοφιλές op-amp IC είναι το LM741, το οποίο έρχεται ...

Ηλεκτρονικά Συστατικά: Κύκλοι ταλαντωτών - ανδρείκελοι

Ηλεκτρονικά Συστατικά: Κύκλοι ταλαντωτών - ανδρείκελοι

. Η ακριβής κυματομορφή που παράγεται εξαρτάται από τον τύπο του κυκλώματος που χρησιμοποιείται για τη δημιουργία του ταλαντωτή. Ένα από τα συνηθέστερα χρησιμοποιούμενα κυκλώματα ταλαντωτών είναι κατασκευασμένο από ένα ζεύγος τρανζίστορ που είναι εφοδιασμένα για να εναλλάσσονται και να σβήνουν εναλλάξ. Αυτός ο τύπος κυκλώματος είναι ...

Η επιλογή των συντακτών

Ασκήσεις για ανδρείκελα Κατάρτιση για ανδρείκελα Εξάσκηση - ανδρείκελα

Ασκήσεις για ανδρείκελα Κατάρτιση για ανδρείκελα Εξάσκηση - ανδρείκελα

Η ασήμαντη εκπαίδευση είναι ένα σημαντικό βήμα στην ανάπτυξη των παιδιών. Ως γονέας, θα πρέπει να αναγνωρίσετε τα σημάδια ότι το παιδί σας είναι έτοιμο για την ομιλία της τουαλέτας, να ξεκινήσει μια διαδικασία ασήμαντης κατάρτισης, να συνεχίσει τη διαδικασία και να αναγνωρίσει πότε το παιδί σας είναι σχεδόν εκεί. Κατά τη διάρκεια της διαδρομής, πρέπει να σιγουρευτείτε ότι το παιδί σας ξέρει ...

Εκπαίδευση για παιδιά με αναπηρίες - ανδρείκελα

Εκπαίδευση για παιδιά με αναπηρίες - ανδρείκελα

Παιδιά, ανάλογα με την αναπηρία. Μπορεί να χρειαστεί να παρέχετε στηρίγματα υψηλής τεχνολογίας που διευκολύνουν την κίνηση από τον περιπατητή ή την αναπηρική καρέκλα στην τουαλέτα (δείτε την ενότητα "Εργασία με ειδικό εργαλείο" σε αυτό το άρθρο.) Από την άλλη πλευρά, το παιδί σας μπορεί να ...

Υποδηλώνουν ότι το παιδί σας είναι έτοιμο για ασήμαντη εκπαίδευση - ανδρείκελα

Υποδηλώνουν ότι το παιδί σας είναι έτοιμο για ασήμαντη εκπαίδευση - ανδρείκελα

Την ημέρα που κάθε γονιός επιθυμεί, αλλά δεν μπορείτε να βιάσετε τη διαδικασία. Περιμένετε τα σημάδια ότι το παιδί σας είναι έτοιμο να αντιμετωπίσει αυτή τη μεγάλη πρόκληση. Παρακολουθήστε τα σημεία στην παρακάτω λίστα. οι πρώτες πέντε είναι απολύτως απαραίτητες: μένει ξηρό τουλάχιστον δύο ώρες παίρνει Bummed από υγρό ή ...

Η επιλογή των συντακτών

Πώς να χρησιμοποιήσετε τη φαντασία σας για να χαλαρώσετε το σώμα σας για διαλογισμό - Dummies

Πώς να χρησιμοποιήσετε τη φαντασία σας για να χαλαρώσετε το σώμα σας για διαλογισμό - Dummies

Αναδυόμενο πεδίο της ιατρικής μυαλού-σώματος υπενθυμίζει στους ανθρώπους - και γιόγκι και σοφοί έχουν πει για χιλιετίες - το σώμα σας, το μυαλό σας και η καρδιά σας αποτελούν ένα ενιαίο και αδιάσπαστο σύνολο. Όταν οι σκέψεις σας συνεχίζουν να σφύζουν από την ανησυχία σας, το σώμα σας αποκρίνεται με τη σύσφιξη και την τάνυση, ειδικά σε ορισμένες σημαντικές θέσεις ...

Πώς να χρησιμοποιήσετε την προσοχή για τη διαχείριση του πόνου

Πώς να χρησιμοποιήσετε την προσοχή για τη διαχείριση του πόνου

Πόνος είναι κάτι που θα αντιμετωπίσει κάποιος σε κάποιο σημείο . Η προσοχή μπορεί να σας βοηθήσει να προσεγγίσετε πόνο με υγιεινό τρόπο. Ο οξύς πόνος είναι ένας αιχμηρός πόνος που διαρκεί για μικρό χρονικό διάστημα, μερικές φορές ορίζεται ως λιγότερο από 12 εβδομάδες. Η ιατρική είναι αρκετά καλή για τη θεραπεία του οξέος πόνου. Ο χρόνιος πόνος είναι ο πόνος που διαρκεί ...

Βελτίωση των σχέσεών σας - ανδρείκεS

Βελτίωση των σχέσεών σας - ανδρείκεS

Σχέσεις - είτε με την οικογένεια, τους φίλους ή τους εραστές; Και δεν έχει σημασία πόσο χαρούμενος και ευχαριστημένος είστε με τις σημαντικές σχέσεις στη ζωή σας, υπάρχει πάντα περιθώριο βελτίωσης. Οι σχέσεις, όπως όλες οι διεργασίες, επίσης καταλήγουν και ρέουν και σας παρουσιάζουν προκλήσεις. Εδώ είναι μερικές εξαιρετικές τεχνικές για να σας βοηθήσουμε ...