[Programación] Re: [Programación] c, array, punteros

José Luis Diaz programacion@lugro.org.ar
Sat, 18 Sep 2004 21:24:45 -0300


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Saturday 18 September 2004 21:04, Mauro Macagno wrote:
> Hola gente alguien me puede decir porque algo tan sencillo como esto:
>
> char *mensaje;
>
> scanf("%s",&mensaje);
>
> printf("%s",mensaje);
>
> me tira una violacion de segmento.

por que *mensaje apunta a cualquier lado :) tendría que apuntar a algún lugar
que tengas reservada memoría :)
ej.
char mensaje[20]; // mensaje es un puntero al primer elemento.

char *mensaje;
mensaje = (char *)malloc(sizeof(char) * 20);

demás frutas con alloca, quedan a discreción.

aparte sería:
scanf("%s",mensaje); // ya que mensaje es un puntero :)

te recomiendo que veas el capitulo 5 del libro "El Lenguaje de programación 
C", de Kernghan y Ritchie.

- -Jx



- --
Jose Luis Diaz - jose<at>rtfm.org.ar</at>     /"\  ASCII Ribbon Campaign
GNU/Linux Registered User #138499             \ /  No HTML in mail or news!
RTFM! - http://rtfm.org.ar                     X
"Kernel Panic - No signature found"           / \
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBTNHPM4NSjXvNJ1cRAjQlAJ9oxe4wVTaOSh2Jf37902FDXZVS/QCgrIpA
rXW3HjPkMJfRKRN9vxHgogI=
=kHRX
-----END PGP SIGNATURE-----