migf1 έγραψε:Πριν προχωρήσουμε στους έξτρα ελέγχους, είναι πολύ σημαντικό να έχουμε ξεκαθαρίσει διαφορές και ομοιότητες μεταξύ των παρακάτω ορισμών:
- Κώδικας: Επιλογή όλων
1.char *s;
- Κώδικας: Επιλογή όλων
2.char *s = NULL;
- Κώδικας: Επιλογή όλων
3.char *s = "testing";
- Κώδικας: Επιλογή όλων
4.char s[] = "";
- Κώδικας: Επιλογή όλων
5.char s[] = "testing";
- Κώδικας: Επιλογή όλων
6.char s[8] = "testing";
- Κώδικας: Επιλογή όλων
7.char s[100] = "testing";
- Κώδικας: Επιλογή όλων
8.char s[80];
Ας ξεκινήσουμε με την πιο απλή ερώτηση/άσκηση: για καθένα από τους παραπάνω ορισμούς γράψτε τι είδους μεταβλητή ορίζουν, και ποιο είναι το μέγεθος της κάθε μεταβλητής σε bytes.
1. δείκτης σε χαρακτήρα με μέγεθος 1 byte
2. δεικτης που πρόκειται να δειξει σε char αλλα που ειναι αρχικοποιημενος σε NULL και παλι μεγεθος 1 byte νομιζω
3. δηλωση δεικτη σε συμβολοσειρα μέγεθος 8 bytes
4. δηλωση πινακα που περιμενει εισοδο συμβολοσειρας απο τον χρηστη μεγεθος δεν ξερω πρεπει να δωσουμε τον τελεστη sizeof
5. δηλωση πινακα απο χαρακτηρες ο κενος χαρακτηρας θα μπει απο τον μεταγλωτιστη οποτε δεν μας απασχολει να ορισουμε μεγεθος παλι
6. το ιδιο με πανω. Και μεγεθος 8 bytes
8. πινακας χαρακτηρων (80) 80 bytes
και θα μπω μετα να δω τα λαθη μου... παω μια μικρη βολτα. Cya
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]