Δημοσιεύτηκε: 02 Σεπ 2011, 21:37
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