bnvdarklord Δημοσ. 6 Απριλίου 2016 Δημοσ. 6 Απριλίου 2016 @Kercyn εννοώ ότι (χωρίς να το έχω ψάξει) είχα πάντα την αίσθηση ότι γενικα το by reference σημαινει by value ο δείκτης, όπως είπε και ο groot. επειδή το ref είναι αφηρημένη έννοια και δεν αντιστοιχεί σε κάτι χειροπιαστό, οπότε η έκφραση "πραγματικό ref" είναι οξύμωρο. Πράγματι, την ώρα που το έγραφα αυτο σκεφτόμουν και εγώ.
M2000 Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Στη VB6 όλα είναι By Ref και αν θέλουμε δηλώνουμε By Val.. Και να δηλώσουμε By Ref μπορούμε να περάσουμε παράσταση. Αντικείμενα περνάνε πάντα By Ref. http://sqlmag.com/business-intelligence/how-ado-uses-cursors
Dinos_12345 Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Πρέπει να γίνουμε λίγο stack overflow από θέμα του τι είναι irrelevant σε ένα topic, but, not gonna happen anytime soon
nickname2016 Δημοσ. 7 Απριλίου 2016 Μέλος Δημοσ. 7 Απριλίου 2016 Μην ξεφευγουμε ρε σεις με VB6 και τριχες κατσαρες.Ας μεινουμε στη C. καταλαβα το προβλημα μου στην κατανοηση. Εκανα το αρχαριο λαθος: περνας κατι με pointer αρα αλλαξε!! Αν ειναι pointer απο την αρχη, θα ειναι αλλαγμενο,αρα πως θα γινει; ΜΕΓΑ ΛΑΘΟΣ!! Αν θες να φανει η αλλαγη σε int θα περασεις int*, αν θες σε float, float*, σε struct, struct*, σε struct*, περνας struct** κλπ κλπ. (Εχω τη συμπαθεια σας γτ βρίσκομαι σε κινητο) Οποτε θα εχω: void Push(struct node** head, int data) { struct node* newNode = malloc(sizeof(struct node)); newNode->data = data; newNode->next = *head; // The '*' to dereference back to the real head *head = newNode; //sweeet Και στην PushTest() τα ορισματα θα ειναι Push(&head,1) τονιζω το ampersand(&) που στην ουσια οριζει οτι η δουλεια γίνεται by reference. Τελος, να σας ευχαριστησω ακομα μια φορα όλους για τις πολυτιμες συμβουλες,προτασεις, εξηγησεις, διευκρινισεις. 1
groot Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 ΜΕΓΑ ΛΑΘΟΣ!! 10 πατερημά, 20 μετάνοιες και 30 ημέρες νηστεία. 3
groot Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Αν θες να φανει η αλλαγη σε int θα περασεις int*, αν θες σε float, float*, σε struct, struct*, σε struct*, περνας struct** κλπ κλπ. Απλά για να τα λέμε σωστά... Το παραπάνω είναι εντελώς μπακάλικο. Εάν θέλεις να το καταλάβεις (εφόσον αυτό λες στο πρώτο σου μήνυμα), το σωστό είναι να εστιάσεις στο πως λειτουργεί και όχι "εάν θες να φανεί η αλλαγή". Το "θες να φανεί η αλλαγή" είναι μπακάλικο. Το ορθό θα ήταν κάτι σαν: "οι αλλαγές των τιμών στα ορίσματα της συνάρτησης παραμένουν/ισχύουν μόνο στο scope της συνάρτησης". 1
imitheos Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 void Push(struct node** head, int data) { struct node* newNode = malloc(sizeof(struct node)); newNode->data = data; newNode->next = *head; // The '*' to dereference back to the real head *head = newNode; //sweeet Και στην PushTest() τα ορισματα θα ειναι Push(&head,1) τονιζω το ampersand(&) που στην ουσια οριζει οτι η δουλεια γίνεται by reference. Αν και είμαι ο τελευταίος που μπορεί να το διατυπώσει σωστά, να προσθέσω σε αυτό που σου είπε ο groot ότι η παραπάνω διατύπωση δεν είναι σωστή. Το & δεν έχει καμμία σχέση με "by reference" και η συγκεκριμένη φράση δεν θα έπρεπε να γράφεται ποτέ σε οδηγούς. Η C _δεν_ έχει by reference. Αυτό που γίνεται πάντα είναι να δεσμεύεται τόση μνήμη όση χρειάζεται και να αντιγράφεται εκεί η τιμή, δηλαδή αυτό που λέμε "by value". Ο δείκτης είναι απλά μια μεταβλητή που έχει μια τιμή, και όπως όλες οι μεταβλητές περνιέται by value. Από εκεί και πέρα ο indirection (dereference) τελεστής * κάνει όλη την δουλειά και λέει "πάρε την τιμή της μεταβλητής και χρησιμοποίησε την ως διεύθυνση και διάβασε τι υπάρχει εκεί". Με αυτό τον τρόπο έχεις κάτι στο περίπου σαν την "κλήση με αναφορά" αλλά το ότι αυτή η μεταβλητή είναι δείκτης είναι για την δική μας ευκολία. Δες τον παρακάτω κώδικα. Τέτοιες πρακτικές δεν πρέπει να χρησιμοποιούνται ποτέ σε πραγματικά προγράμματα. Το γράφω απλά και μόνο για να δεις ότι ο δείκτης δεν έχει καμμία διαφορά. % cat tmp.c #include <stdio.h> int main(void) { int k = 5; int l = &k; printf ("*l = %d\n", *(int *)l); return 0; } % cc -m32 kk.c % ./a.out *l = 5 Χρησιμοποιώ -m32 ώστε ο δείκτης σε int και ο int να έχουν ίδιο μέγεθος. Σε παλαιούς compilers όπως αυτούς σε DOS, δεν χρειαζόταν το cast που έβαλα και σε άφηνε να τρέξεις το * σε όποιον τύπο μεταβλητής ήθελες. Σε ένα απλό ακέραιο λοιπόν, πάω και βάζω μια τιμή που αντιστοιχεί σε μια διεύθυνση μνήμης άλλης μεταβλητής. Μετά του λέω να μου τυπώσει το *l και μου εμφανίζει σωστά αυτή την τιμή χωρίς να έχω δείκτη. Οι δείκτες συμπεριφέρονται όπως όλες οι άλλες μεταβλητές και τα πάντα στην C περνιούνται "by value". Κάποιος άλλος ίσως το διατυπώσει πιο κατανοητά από εμένα. 2
M2000 Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Καλά βέβαια σε όποιον το πούμε...By reference σημαίνει με δείκτη....εκτός μια των περιπτώσεων όπου έχουμε copy in-copy out... Βέβαια εδώ ο άλλος γράφει από το κινητό...και του λένε τι δεν πρέπει να γράφει σε οδηγούς! Ρε δείτε προγραμματιστές του copy paste..τι λένε!
groot Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Βέβαια εδώ ο άλλος γράφει από το κινητό...και του λένε τι δεν πρέπει να γράφει σε οδηγούς! Ρε δείτε προγραμματιστές του copy paste..τι λένε! Νταξ... εάν αυτό που έγραψες αφορά τον imitheos, απλά είσαι για τα μπάζα. Εντελώς όμως. Το κακό είναι ότι δεν έχεις και κανένα personal value για να σε αποθαρρύνει από τα γελοία που γράφεις ή να σε κάνει να αρχίσεις να σκέφτεσαι ότι δεν βρέχει και το υγρό που πέφτει στο πρόσωπό σου είναι κάτι άλλο. Πφφφφφ..... Το & δεν έχει καμμία σχέση με "by reference" και η συγκεκριμένη φράση δεν θα έπρεπε να γράφεται ποτέ σε οδηγούς. Η C _δεν_ έχει by reference. Αυτό που γίνεται πάντα είναι να δεσμεύεται τόση μνήμη όση χρειάζεται και να αντιγράφεται εκεί η τιμή, δηλαδή αυτό που λέμε "by value". Ο δείκτης είναι απλά μια μεταβλητή που έχει μια τιμή, και όπως όλες οι μεταβλητές περνιέται by value. Από εκεί και πέρα ο indirection (dereference) τελεστής * κάνει όλη την δουλειά και λέει "πάρε την τιμή της μεταβλητής και χρησιμοποίησε την ως διεύθυνση και διάβασε τι υπάρχει εκεί". Με αυτό τον τρόπο έχεις κάτι στο περίπου σαν την "κλήση με αναφορά" αλλά το ότι αυτή η μεταβλητή είναι δείκτης είναι για την δική μας ευκολία. Α να γεια σου. Από τα πιο παρανοημένα concepts στην C από παντός είδους εκπαιδευτές!
imitheos Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Νταξ... εάν αυτό που έγραψες αφορά τον imitheos, απλά είσαι για τα μπάζα. Εντελώς όμως. Πφφφφφ..... Μην δίνεις σημασία. Άστον να λέει. Νομίζω πως όλοι όσοι διάβασαν το μήνυμά μου (και δεν είναι trolls) κατάλαβαν πως μπορεί μεν να πήρα αφορμή από το bold τμήμα του OP αλλά αυτό που έγραψα δεν ήταν επίπληξη στον OP (πώς θα μπορούσε άλλωστε να είναι όταν ο OP δεν έγραψε κάποιο οδηγό αλλά έκανε ερώτηση να του λύσουμε απορίες) αλλά αναφερόταν στις δεκάδες κακών οδηγών και βιβλίων που κυκλοφορούν εδώ και εκεί. Από εκεί και πέρα, ο καθένας πορεύεται με το IQ και γενικά τα μέσα που διαθέτει. Εμένα το IQ μου φτάνει μέχρι να είμαι "copy-paste προγραμματιστής" και να ψιλο ξέρω 5 πράματα για C και έτσι μπαίνω μόνο σε νήματα της C και προσπαθώ να βοηθάω εκεί. Όταν έχεις IQ 450 και γνωρίζεις τα πάντα, μπαίνεις σε όλα τα νήματα και δίνεις λύσεις (σε VB6) για C, Java, C#, υδραυλικά, κτλ και βοηθάς τους πάντες. Ίσως κάποια στιγμή στο μέλλον να πλησιάσουμε στο μικρό δαχτυλάκι του M2000 και οι υπόλοιποι 5
nickname2016 Δημοσ. 7 Απριλίου 2016 Μέλος Δημοσ. 7 Απριλίου 2016 1) Η C _δεν_ έχει by reference. Αυτό που γίνεται πάντα είναι να δεσμεύεται τόση μνήμη όση χρειάζεται και να αντιγράφεται εκεί η τιμή, δηλαδή αυτό που λέμε "by value". Ο δείκτης είναι απλά μια μεταβλητή που έχει μια τιμή, και όπως όλες οι μεταβλητές περνιέται by value. Από εκεί και πέρα ο indirection (dereference) τελεστής * κάνει όλη την δουλειά και λέει 2)"πάρε την τιμή της μεταβλητής και χρησιμοποίησε την ως διεύθυνση και διάβασε τι υπάρχει εκεί". Με αυτό τον τρόπο έχεις κάτι στο περίπου σαν την "κλήση με αναφορά" αλλά το ότι αυτή η μεταβλητή είναι δείκτης είναι για την δική μας ευκολία. % cat tmp.c #include <stdio.h> int main(void) { int k = 5; 3) int l = &k; printf ("*l = %d\n", 3)*(int *)l); return 0; } % cc -m32 kk.c % ./a.out *l = 5 Χρησιμοποιώ -m32 ώστε ο δείκτης σε int και ο int να έχουν ίδιο μέγεθος. Σε παλαιούς compilers όπως αυτούς σε DOS, δεν χρειαζόταν το cast που έβαλα και σε άφηνε να τρέξεις το * σε όποιον τύπο μεταβλητής ήθελες. Σε ένα απλό ακέραιο λοιπόν, πάω και βάζω μια τιμή που αντιστοιχεί σε μια διεύθυνση μνήμης άλλης μεταβλητής. 3)Μετά του λέω να μου τυπώσει το *l και μου εμφανίζει σωστά αυτή την τιμή χωρίς να έχω δείκτη. Οι δείκτες συμπεριφέρονται όπως όλες οι άλλες μεταβλητές και 1)τα πάντα στην C περνιούνται "by value". 1) Ενας δεικτης δεν ειναι τιποτα αλλο, περα απο μια μεταβλητη η οποια εχει ως τιμη τη διευθυνση μιας αλλης μεταβλητης. Σωστα μπορουμε να πουμε οτι και το γνωστο "by reference" που λεμε και περναμε δεικτη.. στην ουσια περναμε την τιμη μιας μεταβλητης, by value. Απλα γινεται αυτη η, αν θελετε, εξουσιοδοτηση μεσω της οποιας μπορουμε να παρεμβουμε στα δεδομενα μια απλης μεταβλητης δια μεσου μιας αλλης μεταβλητης(δεικτη) κι αυτο οι οδηγοι το λενε By reference. Ως εδω καλα θελω να πιστευω. Αν αυτην την εξουσιοδοτηση, οι οδηγοι, οι καθηγητες, ολο το ιντερνετ την λεει by reference, τοτε πως γινεται η C να μην εχει by reference? Τι πραγματικα σημαινει το by reference τοτε? Ποια γλωσσα υποστηριζει by reference? Εγω αυτο που εχω καταλαβει απο αυτο που λεμε τωρα, ειναι οτι ολα ειναι by value για τον λογο που εξηγησα και πως το by reference τελικα δεν ειναι τπτ αλλο παρα ευκολια στο να καταλαβει καποιος που μαθαινει C, οτι υπαρχει η δυνατοτητα να εχουμε προσβαση σε μια μεταβλητη μεσω μιας αλλης μεταβλητης. 2) Μηπως ηθελες να πεις: "πάρε την διευθυνση της μεταβλητής και χρησιμοποίησε την ως μεταβλητη και διάβασε τι υπάρχει εκεί". ? 3) Αφου καναμε type casting, λογικο δεν ειναι να εμφανιζει το σωστο αποτελεσμα?
M2000 Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 By reference... Βλέπω ότι υπάρχημα κόλλημα εδώ με το τι λέμε by reference. Το κόλλημα έχει να κάνει με το τρόπο που σχηματίζουμε την ιδέα. Π.χ. λέει ο Χ (δεν βάζω ονόματα για να μην μου λέτε ότι το κάνω επίτηδες), ότι όλα στο βάθος είναι by value. Βαρύγδουπο αλλά εντελώς λάθος. Για τον επεξεργαστή όλα είναι διευθύνσεις, ακόμα και η επιλογή καταχωρητή! Όλες οι τιμές έχουν μια θέση. Όταν αναφερόμαστε στην θέση αυτή λέμε ότι έχουμε πέρασμα με άναφορά. Όταν παίρνουμε το νούμερο από τη θέση και το "καταναλώνουμε" π.χ. το προσθέτουμε ή κάνουμε μια σύγκριση, τότε χρησιμοποιούμε την τιμή του, είναι χρήση της τιμής και δεν χρειάζεται να αντιγράψουμε κάτι. Πάμε τώρα στη συνάρτηση. Η συνάρτηση δεν είναι απαραίτητα αυτό που γυρνάει μια τιμή, μπορεί να είναι κενή, χωρίς επιστροφή ως αποτέλεσμα σε παράσταση και απλά να την τρέξουμε ως διαδικασία. Και ναι μπορούμε να περάσουμε με αναφορά κάτι, όχι επειδή θα αντιγράψουμε τον δείκτη, αυτό είναι στο πώς γίνεται, αλλά στο γιατί, εδώ είναι το ενδιαφέρον, γιατί θέλουμε στην επιστροφή από τη συνάρτηση να έχουμε κρατήσει τις αλλαγές. Άν μπορούμε να το κάνουμε αυτό με την Χ γλώσσα τότε έχουμε πέρασμα με αναφορά. Το πώς δεν έχει σημασία, η ουσία μετράει. Τώρα ένα άλλο θέμα που έχει επίσης ουσία είναι το λάθος που μπορεί να γίνει ενώ τρέχει μια συνάρτηση που έχουμε περάσει μέσα σε αυτήν κάτι με αναφορά. Έστω λοιπόν ότι τερματίζει με λάθος συνάρτηση, ενώ έχει επεξεργαστεί μισό πίνακα από αυτόν που δώσαμε με αναφορά. Στην επιστροφή τι θα έχουμε; Δεν μιλάμε για Bug στο κώδικα, αλλά μέσα στην συνάρτηση κάνουμε έλεγχο και βλέπουμε ότι κάτι στο πίνακα δεν είναι εντάξει..π.χ. έχει μηδέν και δεν γίνεται να κάνουμε διαίρεση με το μηδέν (λέμε τώρα για το παράδειγμα). Στην επιστροφή θα έχουμε ή όχι αλλαγμένο το πίνακα που περάσαμε με αναφορά (με όποιο τρόπο το κάνει η γλώσσα). Εγώ λέω ναι. Έτσι δεν μπορώ να λέω στον Χ και Ψ ότι η C δεν περνάει κάτι με αναφορά, ασφαλώς το περνάει με δείκτη. Το αν ο δείκτης αντιγράφεται, είναι απλά η γύμνια της C που σου δείχνει τελικά πώς δουλεύει! Αλλά σε καμία περίπτωση δεν μπορούμε να λέμε ότι δεν έχουμε πέρασμα με αναφορά. Ή ότι "στις συναρτήσεις δεν περνάμε με αναφορά" (αυτά τα λένε στο σχολείο για τη ΓΛΩΣΣΑ). Π.χ. όταν χρησιμοποιεί μια θέση μνήμης ο επεξεργαστής αντιγράφει έστω την διεύθυση στο PC (program counter)...Ε! κάποιοι αυτό το λένε πέρασμα με τιμή...αλλά δεν είναι είναι πέρασμα με αναφορά, η αντιγραφή έγινε στην διεύθυνση. (χοντρό λίγο να το γράψεις στο PC, αλλά λέμε τώρα)
groot Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 1) Ενας δεικτης δεν ειναι τιποτα αλλο, περα απο μια μεταβλητη η οποια εχει ως τιμη τη διευθυνση μιας αλλης μεταβλητης. Σωστα μπορουμε να πουμε οτι και το γνωστο "by reference" που λεμε και περναμε δεικτη.. στην ουσια περναμε την τιμη μιας μεταβλητης, by value. Απλα γινεται αυτη η, αν θελετε, εξουσιοδοτηση μεσω της οποιας μπορουμε να παρεμβουμε στα δεδομενα μια απλης μεταβλητης δια μεσου μιας αλλης μεταβλητης(δεικτη) κι αυτο οι οδηγοι το λενε By reference. Ως εδω καλα θελω να πιστευω. Αν αυτην την εξουσιοδοτηση, οι οδηγοι, οι καθηγητες, ολο το ιντερνετ την λεει by reference, τοτε πως γινεται η C να μην εχει by reference? Τι πραγματικα σημαινει το by reference τοτε? Ποια γλωσσα υποστηριζει by reference? Εγω αυτο που εχω καταλαβει απο αυτο που λεμε τωρα, ειναι οτι ολα ειναι by value για τον λογο που εξηγησα και πως το by reference τελικα δεν ειναι τπτ αλλο παρα ευκολια στο να καταλαβει καποιος που μαθαινει C, οτι υπαρχει η δυνατοτητα να εχουμε προσβαση σε μια μεταβλητη μεσω μιας αλλης μεταβλητης. 2) Μηπως ηθελες να πεις: "πάρε την διευθυνση της μεταβλητής και χρησιμοποίησε την ως μεταβλητη και διάβασε τι υπάρχει εκεί". ? 3) Αφου καναμε type casting, λογικο δεν ειναι να εμφανιζει το σωστο αποτελεσμα? 1) Το μπέρδεμα είναι επειδή το "by reference" αφορά ΤΡΟΠΟ ΧΡΗΣΗΣ και ΟΧΙ ΙΔΙΟΤΗΤΑ. Δηλαδή, χαρακτηρίζει τον τρόπο που θα χρησιμοποιηθεί μία μεταβλητή ΜΕΣΑ στην συνάρτηση και όχι το πως δουλεύει το πράμα. Στο ποια γλώσσα υποστηρίζει... ήδη έχουν δοθεί κάποιες απαντήσεις παραπίσω. Εάν εξαιρέσεις τις γνωστές απαντήσεις του Μ2000 που είναι για κλάματα και του DDevil που δεν πήρε ούτε μυρωδιά από όσα γράφτηκαν, οι άλλες είναι καλός οδηγός για σκέψη. By reference... Βλέπω ότι υπάρχημα κόλλημα εδώ με το τι λέμε by reference. Το κόλλημα έχει να κάνει με το τρόπο που σχηματίζουμε την ιδέα. Π.χ. λέει ο Χ (δεν βάζω ονόματα για να μην μου λέτε ότι το κάνω επίτηδες), ότι όλα στο βάθος είναι by value. Βαρύγδουπο αλλά εντελώς λάθος. Για τον επεξεργαστή όλα είναι διευθύνσεις, ακόμα και η επιλογή καταχωρητή! Μα ναι... αφού όταν του λες να πάει να δει μία τιμή του λες: Σταδίου 55, Τ.Κ. 12345. Και μάλιστα του το λες με σήματα καπνού ή γράμματα. Αριθμούς, μία φορά, δεν χρησιμοποιείς. Πφφφ.... Πραγματικά, οι mods γιατί δεν κάνουν κάτι με την περίπτωσή σου; Νισάφι πια.
DDevil Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 1) Ενας δεικτης δεν ειναι τιποτα αλλο, περα απο μια μεταβλητη η οποια εχει ως τιμη τη διευθυνση μιας αλλης μεταβλητης. Σωστα μπορουμε να πουμε οτι και το γνωστο "by reference" που λεμε και περναμε δεικτη.. στην ουσια περναμε την τιμη μιας μεταβλητης, by value. Απλα γινεται αυτη η, αν θελετε, εξουσιοδοτηση μεσω της οποιας μπορουμε να παρεμβουμε στα δεδομενα μια απλης μεταβλητης δια μεσου μιας αλλης μεταβλητης(δεικτη) κι αυτο οι οδηγοι το λενε By reference. Ως εδω καλα θελω να πιστευω. Αν αυτην την εξουσιοδοτηση, οι οδηγοι, οι καθηγητες, ολο το ιντερνετ την λεει by reference, τοτε πως γινεται η C να μην εχει by reference? Τι πραγματικα σημαινει το by reference τοτε? Ποια γλωσσα υποστηριζει by reference? Εγω αυτο που εχω καταλαβει απο αυτο που λεμε τωρα, ειναι οτι ολα ειναι by value για τον λογο που εξηγησα και πως το by reference τελικα δεν ειναι τπτ αλλο παρα ευκολια στο να καταλαβει καποιος που μαθαινει C, οτι υπαρχει η δυνατοτητα να εχουμε προσβαση σε μια μεταβλητη μεσω μιας αλλης μεταβλητης. 2) Μηπως ηθελες να πεις: "πάρε την διευθυνση της μεταβλητής και χρησιμοποίησε την ως μεταβλητη και διάβασε τι υπάρχει εκεί". ? 3) Αφου καναμε type casting, λογικο δεν ειναι να εμφανιζει το σωστο αποτελεσμα? Εγω προτεινω να μη κολλησεις άλλο σε ονοματολογιες και να συνεχισεις παρακάτω. Κράτα απλά οτι σε μια συνάρτηση περνάνε τα αντιγραφα των μεταβλητών για αυτο οι αλλαγες δεν ειναι μονιμες. Μονιμες θα γινουν μονο αμα βάλεις τους δεικτες στο παιχνιδι γιατι οι δεικτες επενεργουν απευθειας στην μνήμη της μεταβλητής. 1) Το μπέρδεμα είναι επειδή το "by reference" αφορά ΤΡΟΠΟ ΧΡΗΣΗΣ και ΟΧΙ ΙΔΙΟΤΗΤΑ. Δηλαδή, χαρακτηρίζει τον τρόπο που θα χρησιμοποιηθεί μία μεταβλητή ΜΕΣΑ στην συνάρτηση και όχι το πως δουλεύει το πράμα. Στο ποια γλώσσα υποστηρίζει... ήδη έχουν δοθεί κάποιες απαντήσεις παραπίσω. Εάν εξαιρέσεις τις γνωστές απαντήσεις του Μ2000 που είναι για κλάματα και του DDevil που δεν πήρε ούτε μυρωδιά από όσα γράφτηκαν, οι άλλες είναι καλός οδηγός για σκέψη. Μα ναι... αφού όταν του λες να πάει να δει μία τιμή του λες: Σταδίου 55, Τ.Κ. 12345. Και μάλιστα του το λες με σήματα καπνού ή γράμματα. Αριθμούς, μία φορά, δεν χρησιμοποιείς. Πφφφ.... Πραγματικά, οι mods γιατί δεν κάνουν κάτι με την περίπτωσή σου; Νισάφι πια. Εγω δεν πηρα μυρωδια απο οσα γράφτηκαν ή γραφεις ενα καρο σάλτσες για να κάνεις τον ψαγμένο? και χθες που σου εδειξα οτι εισαι ανορθογραφος πούλησες και τρελιτσα αντι να παραδεχθεις το λάθος σου. Σε πειραξε ε? οταν εσυ κάνεις τον καθηγητη εδω μεσα ειναι καλα ομως. Καθηγητης και ανορθογραφος ειναι έννοιες ασυμβιβαστες να ξέρεις. Μυρωδια απο σάλτσες και περιττά πράγματα εγω δεν παιρνω. Μια ερωτηση έκανε η απαντηση ειναι 4-5 γραμμές θεωρια και αλλες 4-5 κώδικας. Μη μας πρηζεις με τα σεντονια σου. 1
groot Δημοσ. 7 Απριλίου 2016 Δημοσ. 7 Απριλίου 2016 Μονιμες θα γινουν μονο αμα βάλεις τους δεικτες στο παιχνιδι γιατι οι δεικτες επενεργουν απευθειας στην μνήμη της μεταβλητής. Μόνιμες σαν να λέμε στο δημόσιο...!!! Ωρέ... νομίζω πλέον ότι έχει πάει η πληροφορική σε άλλα επίπεδα! Αλήθεια, γιατί δεν μαθαίνεις Μ2000; Νομίζω σου πάει γάντι!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα