Δημοσιεύτηκε: 12 Σεπ 2011, 16:07
ετσι οπως το λες ειναι σαν να το εχω κανει λαθος.... οτι δηλαδη μεσα στην συναρτηση ΔΕΝ οριζουμε ως δεικτη... εγω το εχω ορισει μεν ως δεικτη αλλα οχι για να δουλεψει πανω στην μνημη (κατι που θα γινοταν με call by reference) εγω το δηλωνω ως δεικτη για να κανω μεσω αυτου προσπελαση στα στοιχεια της δομης για αναγνωση....οπα κατσε γιατι μπερδευτηκα τωρα...
ΛΟΛ αφου ο χρηστης τα δινει αρα ο δεικτης τα αποθηκευει στα στοιχεια της δομης (ή καλυτερα της μεταβλητης της δομης) αρα δουλευει στην μνημη μιας και εχει την δυνατοτητα να την τροποποιει ??? Eκτος αυτου προσθεσα μια printf αμεσως μετα την κληση και το τελος της συναρτησης στην main και ειδα πως ακομη και με call by value διατηρει τις τιμες της.... στα πεδια της (οταν τις εδινα σαν εισοδο στην συναρτηση) πως γινεται αυτο εφοσον ειναι by value? :/
ΛΟΛ αφου ο χρηστης τα δινει αρα ο δεικτης τα αποθηκευει στα στοιχεια της δομης (ή καλυτερα της μεταβλητης της δομης) αρα δουλευει στην μνημη μιας και εχει την δυνατοτητα να την τροποποιει ??? Eκτος αυτου προσθεσα μια printf αμεσως μετα την κληση και το τελος της συναρτησης στην main και ειδα πως ακομη και με call by value διατηρει τις τιμες της.... στα πεδια της (οταν τις εδινα σαν εισοδο στην συναρτηση) πως γινεται αυτο εφοσον ειναι by value? :/
- Κώδικας: Επιλογή όλων
int main(void)
{
kostas someone , *p;
p=&someone;
struct_function(p) ;
===> printf("%s",p->surname); <==========
return 0;
}