PDA

View Full Version : [C] Problema con l'allocazione dinamica della memoria


Free/Sbin
12-07-2006, 11:58
Ciao,
domani ho l'orale di laboratorio di programmazione...per ora ho quasi sempre programmato su carta :-/
Mettendomi ha fare qualche prova al pc riscontro qualche problema con semplicissimi programmi....
(ahh lavoro sotto linux)

Questo mi dà i seguenti errori:
[root@dhcppc0 alldin]# cc mall.c -o mall
mall.c:2:2: error: invalid preprocessing directive #inclide
mall.c: In function ‘main’:
mall.c:10: warning: incompatible implicit declaration of built-in function ‘malloc’
mall.c:14: warning: incompatible implicit declaration of built-in function ‘exit’
[root@dhcppc0 alldin]#



#include <stdio.h>
#inclide <stdlib.h>
#include <string.h>

int main(){

char *s;
register int t;

s=malloc(80);

if(!s){
printf("Non è possibile esaudire la richiesta di memoria\n");
exit(1);
}

gets(s);

for(t=strlen(s)-1; t>=0; t--)
putchar(s[t]);

free(s);

return 0;
}



Forse la funzione exit non è contemplata da linux ma la mallo perchè non và? ho anche provato a fare:
s=malloc(80*sizeof(char)); ma stesso problema...why?

Free/Sbin
12-07-2006, 12:00
risolto..problema idiota

Black imp
12-07-2006, 13:17
risolto..problema idiota



:D bisogna leggere quello che il compilatore ti dice ;) a parte quando sotto linux il gcc ti dà una segmentation fault ... allora c'è qualche puntatore che è andato a zonzo. vallo a trovare :mc:

trallallero
12-07-2006, 14:49
mi sembra ti sia giá stato detto di non usare la gets.
É pericolosa meglio la fgets.
Fai man gets e capisci perché ;)

AngeL)
12-07-2006, 16:31
invalid preprocessing directive #inclide#inclide <stdlib.h>
:D