Δημοσιεύτηκε: 12 Σεπ 2011, 17:44
από migf1
Star_Light έγραψε:...
Και ομως το πιστευεις οτι εγω συμφωνω πιο πολυ με το &(*p) παρα με το p? Το p γιατι να το δεχθω σαν διευθυνση? Επειδη ετσι μου το οριζουν ή μου το λενε? Δεν εχω καποια αλλη ενδειξη... οταν παλιοτερα καποιος πηγε να μου εξηγησει τους δεικτες (πολυ παλιοτερα) μου ειχε πει οκ
οριζουμε int *p το p πλεον ειναι μεταβλητη δεικτη που φερει την διευθυνση ενω το * ειναι περιεχομενα....

ενω αντιθετως... στο
Κώδικας: Επιλογή όλων
&(*p)


το & ειναι τελεστης διευθυνσης και δινει την διευθυνση... ειναι αξιωμα. Δεν σου λεει ο αλλος ειναι δικο μου αξιωμα οποτε δεξου το και εσυ... καταλαβαινεις γενικα πως ειναι αξιωμα. Οκ? Απο την αλλη και το (*p) ειναι και αυτο γενικο αξιωμα οτι δινει το περιεχομενο αρα ολο μαζι
δηλαδη το &(*p) δινει την διευθυνση του περιεχομενου στο οποιο δειχνει ο δεικτης... ακριβως με αυτη τη διευθυνση που έχεις αρχικοποιησει και τον δεικτη στο να δειχνει... καταλαβαινεις τι λεω ή ειμαι για δεσιμο? :lol:

Κοίτα, όσο αξίωμα είναι το (*p) άλλο τόσο αξίωμα είναι και το p... άλλωστε όλα ξεκινάνε από το p, χωρίς αυτό δεν υπάρχει ούτε (*p) ούτε &(*p)

Γράψε μου π.χ με τον δικό σου τρόπο τη μια γραμμή στο κώδικα της συνάρτησης:
Κώδικας: Επιλογή όλων
command_settext( UI *commands, const int pos, const char *text )
που αναθέτει το text ως όνομα της pos-στής εντολής, σε έναν πίνακα από διαθέσιμες εντολές, όταν έχεις το παρακάτω:

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

typedef struct command {
...
char name[ 255+1 ];
} Command;

typedef struct ui {
...
Command cmdlist[ 10 ];
} UI;

// --------------------------------------------------------------------------------------------
int command_settext( UI *commands, const int pos, const char *text )
{
...
// εδώ η γραμμή που θέλουμε
...
return 1;
}

// --------------------------------------------------------------------------------------------
int main( void )
{
UI commands;
...
command_settext( &commands, 10, "print");
...
return 0;
}


Θα διαπιστώσεις πως αυτό που θα γράψεις (και να δουλεύει σωστά) θα είναι τρομερά δυσανάγνωστο!