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