- Κώδικας: Επιλογή όλων
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int slen;
char *s;
printf(" How long the string? : ");
scanf("%d" , &slen);
printf(" Give a string : ");
fgets(s , slen , stdin);
s = malloc(slen + 1);
if( s == NULL)
printf(" malloc() failed ");
printf(" %lu " , strlen(s) + 1);
puts(s);
return 0;
}
προσπαθω να φτιαξω ενα παραδειγμα τελοςπαντων με μεγεθος που θα δινει ο χρήστης.
Υποτιθεται πως αυτο ειναι το δυναμικο που λεμε... και ακομη δεν μου κολλαει καπως στο αρχικο παραδειγμα
που έδωσες το #define στην αρχη.... δεν ξερω εφοσον το οριζεις εξαρχης νομιζω ειναι προκαθορισμενο ειτε ο χρηστης δωσει
10 ειτε 20..... εκτος και αν εσωτερικα η malloc παντα δεσμευει ή 10 ή 20 τα ελευθερωνει και το #define MAXSLEN(80+1) ειναι απλα
ενα πάνω οριο το οποιο βαζεις εσυ για να μην σου βαλει το ιδιο το λειτουργικο συστημα . Και στην περιπτωση των στατικων πινακων
το #define MAXSLEN(80+1) αν δωσεις εσυ 20 ή 10 τοτε ολα τα αλλα μενουν κενα...... στη μνημη.... καταλαβαινεις τι ρωταω???


