Δημοσιεύτηκε: 10 Ιαν 2011, 19:17
				
				giannisperrakis έγραψε:Το είχα σκεφτεί και έχω αφήσει ένα κενό πρίν το " %d" μέσα στην scanf, υποτίθεται για να περάσει ο έλεγχος τον χαρακτήρα αλλαγής γραμμής αλλά μάλλον δεν δουλέυει έτσι
@ant_0611 μα δεν κάνω κάποια πράξη με τα περιεχόμενα την δομης για να φταίνε τα σκουπίδια, εκχώρηση τιμής κάνω
Μας έχει δώσει το ελέυθερο να την κάνουμε όπως θέλουμε αλλα οι δείκτες είναι καλή ιδέα. Δεν είμαι σίγουρος αν προλαβαίνω...
Δεν προλάβαμε να ανοίξουμε και έχω ήδη κι άλλη εργασία... Είναι μια ιδέα να κάνω εκείνη με δείκτες
@pc_magas Καλή ιδέα η getchar()... Θα την δοκιμάσω... αλλά γιατί μετά την scanf, μήπως εννοείς μετά την printf?
Ούπς. Τώρα το παρατήρησα και εγώ! Η μόνη διαφορά των 2 scanf που εκτελουνται για να παρεις την καθε τιμή είναι αυτο το κενό πριν το %d . Γενικά καλό ειναι να μην βάζεις κενά μέσα στο "" της scanf. Για δοκίμασε να μην υπάρχει αυτο το κενό.
Και εγώ είχα κάποτε πρόβλημα με κενο στην scanf , το οποιο με παίδεψε αρκετή ώρα, αλλα νομίζω οτι εγώ το έβαζα μετά απο %s .
Λίγα λόγια για τους δείκτες.
Ορισμός :
- Κώδικας: Επιλογή όλων
 int * p;
Δεσμευση μνημης:
- Κώδικας: Επιλογή όλων
 p=(int*)malloc(sizeof(int)); // i allios apothikeueis tin deythinsi mias yparxoysas metablitis b idiou typou
p=&b;
Αποθήκευση στην μνημη που δείχνει ο p :
- Κώδικας: Επιλογή όλων
 *p=3; // i allios se scanf
scanf("%d",p);
*p=b; //antigrafi periexomenou tou b sto p
προσπελαση περιεχομενου μνημης:
- Κώδικας: Επιλογή όλων
 printf("p=%d",*p);
ελευθερωση μνημης που δεσμευσες και δείχνει ο p :
- Κώδικας: Επιλογή όλων
 free(p);
Με λίγη σκέψη-συνδυασμό με αυτά που ξέρεις, ξέρεις αρκετά και για τους δεικτες.