Δημοσιεύτηκε: 03 Φεβ 2012, 22:28
από Star_Light
migf1 έγραψε:@starlight: δυστυχώς δεν μπορώ να παρακολουθήσω τις απορίες σου, κυρίως διότι επαναλαμβάνονται συνεχώς πάνω στα ίδια πράγματα, όσες φορές κι αν στα εξηγήσω (που το έχω κάνει ήδη περίπου... 200 φορές την κάθεμια :lol:).

O πίνακας είναι δείκτης, άρα το &πίνακας είναι δείκτης σε δείκτη.


Σε εναν κωδικα που εχω παραθεσει καλω μια συναρτηση που δουλευει σε διπλο δεικτη **p μονο με το p σαν ορισμα και οχι με το &p .
Εσυ εχεις πει πως θα πρεπει να ξερεις σε ποια θεση δειχνει ο δεικτης επειδη τον μετακινεις μεσα στην συναρτηση.... αυτο τι σημαινει δηλαδη?
Τι ακριβως μου εξηγησες 500 φορες δηλαδη σε αυτο ? :S Το καλοκαιρι θυμαμαι ειχες θεση γενικη οδηγια πως οταν οριζουμε μια συναρτηση με διπλους ** μεσα της θα παίζουμε με μονα * και θα την καλουμε με &. Αυτο ειχες πει. Οχι τιποτα αλλο μην με περασουν και για ηλιθιο οσοι διαβαζουν περα απο την πλακα που κανω και εδω μεσα και εχω πει πως δεν παρεξηγιεμαι. Πριν λιγο ειδα και ο ιδιος πως ο δεικτης δεν αλλαζει διευθυνση ακομη και αν τον μετακινεις....πχ εδω

Κώδικας: Επιλογή όλων


int array[4]={1,2,3,-1};

p3=array;
while(*p3!=-1)
{
printf(" *p3=%d , p3=%p",*p3 , &p3);
printf(" p3= %p " , p3 );
p3++;
}


Μονο το p3 αλλαζει εδω.... και οχι το &p3 επομενως τι ακριβως εννοεις οταν λες οτι περναω την διευθυνση του δεικτη μεσα στη συναρτηση ωστε να ξερω που εχει μετακινηθει? αφου η διευθυνση αυτη μενει σταθερη.