Δημοσιεύτηκε: 08 Σεπ 2011, 16:15
από migf1
έγραψε:Η διεύθυνση του δείκτη δεν είναι ίδια με αυτή που δείχνει ο δείκτης;

Τσου! :lol:

Κοίτα, όταν π.χ. ορίζεις μια ακέραια μεταβλητή ( int n ) δεσμεύεται μια περιοχή μνήμης ( μεγέθους sizeof(int) ) η οποία θα περιέχει την τιμή της μεταβλητής αυτής. Οκ μέχρι εδώ.

Όταν ορίζεις μια μεταβλητή ως δείκτη ( int *p ) δεσμεύεται μια περιοχή μνήμης ( μεγέθους sizeof(int *) που είναι ίδιο με sizeof(char *) η οποινδήποτε άλλον τύπο ορίζεις για τον δείκτη σου) η οποία θα περιέχει την τιμή του δείκτη σου. Οι δείκτες ως τιμές παίρνουν διευθύνσεις άλλων μεταβλητών ;)

Οπότε , η μνήμη που έχει δεσμευτεί για την μεταβλητή p θα περιέχει την διεύθυνση της μνήμης που έχει δεσμευτεί για την μεταβλητή x ( που περιέχει την τιμή 6.5 στο σχέδιο που ακολουθεί).

Εικόνα

Δηλαδή, το κουτάκι του p στο σχέδιο περιέχει μέσα του τον αριθμό: 12004234 (εμείς αναζητάμε τη διεύθυνση του κουτιού που έχει δεσμευτεί για τον p... μέσα στο οποίο δηλαδή βρίσκεται το 12004234 )