Δημοσιεύτηκε: 04 Σεπ 2011, 12:26
Star_Light έγραψε:Ειμαστε τελειως ενταξει! Εκτος απο τοπου ειπα πως ειναι pointer σε string να ξεκαθαρισω πως εννοουσα οτι το s ειναι δεικτης σε string. Βεβαια αν θεωρειται παλι λαθος αυτο που γράφω ισως θεωρειται επειδη το s επι της ουσιας ειναι απλα ενας δεικτης σε χαρακτηρα οποτε μολις συναντησει τον '\0' θα πουμε οτι τελικα τελειωσε η συμβολοσειρα... Ισως η διατυπωση δεν ειναι σωστη που λεω αλλα εχω καταλαβει τι ακριβως ειναι
- Κώδικας: Επιλογή όλων
char *s="testing";
Ναι, το ξέρω πως έχεις καταλάβει
Με την διατύπωση υπάρχει γενικότερο θέμα, διότι τα strings δεν υποστηρίζονται εγγενώς από τη C, οπότε πολύ συχνά ο καθένας τα διατυπώνει και διαφορετικά
Αν συμφωνήσουμε όμως πως κατά βάση τα strings είναι πίνακες χαρακτήρων, τότε λέγοντας δείκτης σε string είναι σαν να λέμε δείκτης σε πίνακα χαρακτήρων. Μιλάμε δηλαδή για διπλό δείκτη και όχι για μονό
Για την μαθηματική βιβλιοθήκη, ψάξε να βρεις το .a αρχείο της για την πλατφόρμα σου (αν διατίθεται)... π.χ. libmpfr.a ή όπως αλλιώς λέγεται, βάλε την στον φάκελο που βρίσκονται και οι υπόλοιπες βιβλιοθήκες του gcc και όταν κάνεις compile το πρόγραμμά σου βάλε στη γραμμή εντολών του gcc στο τέλος ένα -lmpfr.
Αλλιώς βάλε το αρχείο .a σε ένα φάκελο της αρεσκείας σου και δήλωσέ το με κεφαλαίο L στην γραμμή εντολών του gcc.
Αν δεν διατίθεται το .a αρχείο, θα χρειαστεί να κατεβάσεις τον πηγαίο κώδικα της βιβλιοθήκης και να τον κάνεις compile μόνος σου (συνήθως σου δίνουν έτοιμα makefiles για κάθε πλατφόρμα.
Για την άλλη ερώτηση, για το αν χρειάζεται να γίνουν long και τα ορίσματα εκτός από την τιμή επιστροφής της συνάρτησης, λογικά δεν χρειάζεται.
Για το μέγεθος των δεικτών που σου βγάζει 8 bytes, τόσο είναι το σύνηθες σε 64μπιτες πλατφόρμες (και 4 bytes σε 32μπιτες).
Τέλος, για να συνεχίσουμε με τα strings περιμένω το ΟΚ από τον φίλο stamatiou