Δημοσιεύτηκε: 04 Σεπ 2011, 16:54
από Star_Light
Λιγο πριν προχωρησουμε εχω κάποιες απορίες.

1.
Στο
Κώδικας: Επιλογή όλων
char s[100]="testing"


μπορει να δεχθεί άλλες 92 τιμές για είσοδο? Πχ απο τον χρήστη... (φυσικά απο τον δείκτη s[5] και μετα )

Απο οσο εχω καταλαβει ενα string ειναι ενας πίνακας χαρακτήρων αλλα μπορω και με βεβαιότητα να πω (συμφωνα με αυτα που εδωσε και ο migf και τα διαβασα αρκετα καλα) οτι ενας πίνακας χαρακτήρων δεν ειναι απαραίτητα ενα string. Οκ?

2. Κανονικα το
Κώδικας: Επιλογή όλων
char s[] = "";


δεν μπορει να περιμένει είσοδο απο τον χρήστη ή πρεπει να του ορίσεις μια τιμή στο μέγεθος (του πίνακα) ωστε να ξέρει ο μεταγλωττιστής απο ποιο σημείο και μετα θα πρεπει να βάλει τον μηδενικο χαρακτηρα ο οποιος και σηματοδοτει το τελος της συμβολοσειρας για να ελενξει με πιο σωστο τροπο την εισοδο του χρηστη?

Και τελος αν

3.
Κώδικας: Επιλογή όλων
char usernme[32];


Αν δηλωσεις δηλαδη εναν πίνακα με στοιχεια παραπανω απο οσα χρειάζεσαι (επειδη πχ το UNIX επιτρέπει μεχρι 8 χαρακτήρες ονοματα) τοτε εδω μπορει να γινει ας πουμε buffer overflow?

:D