Δημοσιεύτηκε: 16 Φεβ 2012, 17:55
Star_Light έγραψε:
O Κωδικας που παρέθεσα έχει προβλημα.... αν τον τρεξεις θα δεις.![]()
![]()
![]()
Έχει τα προβλήματα που σου έγραψα πιο πριν. Το 1 που βγάζει ως αποτέλεσμα είναι σωστό όμως. To strlen() μετράει τρέχον μήκος και όχι μέγιστο μήκος.
Το μέγεθος του μέγιστου μήκους το μετράει το sizeof() αλλά ΟΧΙ στα δυναμικά strings, μόνο στα στατικά.
Στα δυναμικά strings το sizeof επιστρέφει το μέγεθος του ονόματος-δείκτη (που είναι όσα bytes καταλαμβάνει οποιοσδήποτε δείκτης στο σύστημά σου). Στα δυναμικά strings το μέγεθος του μέγιστου μήκους τους το διαχειρίζεσαι μόνος σου (εσύ δηλαδή ξέρεις σε τι μέγεθος έχεις δημιουργήσει αρχικά το string).