Foros del Web » Programación para mayores de 30 ;) » C/C++ »

C

Estas en el tema de C en el foro de C/C++ en Foros del Web. Hola, Queria saber si en C puedo hacer esto: char *x; char m[56] = x; Gracias, Un saludo, Ana...
  #1 (permalink)  
Antiguo 13/05/2007, 11:23
 
Fecha de Ingreso: noviembre-2006
Mensajes: 46
Antigüedad: 17 años, 5 meses
Puntos: 0
C

Hola,

Queria saber si en C puedo hacer esto:

char *x;
char m[56] = x;

Gracias,

Un saludo,

Ana
  #2 (permalink)  
Antiguo 13/05/2007, 11:41
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: C

No. ¿Que queres hacer exactamente?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 13/05/2007, 21:38
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: C

Cita:
Iniciado por anac Ver Mensaje
Hola,

Queria saber si en C puedo hacer esto:

char *x;
char m[56] = x;

Gracias,

Un saludo,

Ana
Asi tal cual, segun yo, y al parecer segun Eternal Idol, no.
algo asi:

char *x;
char m[56];
m=x;
Teóricamente si(nunca lo he intentado ), pero creeme, no es buena idea, y no trae una utilidad, al menos que seas un mega hacker y realmente sepas lo que estas haciendo.

Saludos
  #4 (permalink)  
Antiguo 14/05/2007, 00:11
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: C

No se puede hacer y no hay ninguna diferencia entre el codigo original y el que pusiste.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 14/05/2007, 02:38
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: C

no se si sera esto lo que quieras hacer:

char *x;
char m[10];
*x='a';
m[0]=*x;

y asi en la posicion primera del vector tendrias 'a'
  #6 (permalink)  
Antiguo 14/05/2007, 03:25
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: C

Cita:
Iniciado por cris_maco Ver Mensaje
no se si sera esto lo que quieras hacer:

char *x;
char m[10];
*x='a';
m[0]=*x;

y asi en la posicion primera del vector tendrias 'a'
Asi lo que tendras seran dos accesos a una direccion indefinida (primero escribiendo y despues leyendo) que pueden dar perfectamente una excepcion, x esta apuntando a cualquier lado.

El VC++ avisa: warning C4700: local variable 'x' used without having been initialized

Si inicializamos el puntero x a 0, como se deberia hacer siempre, tendremos la excepcion al instante.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 14/05/2007, 09:21
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: C

Cita:
Iniciado por cris_maco Ver Mensaje
no se si sera esto lo que quieras hacer:

char *x;
char m[10];
*x='a';
m[0]=*x;

y asi en la posicion primera del vector tendrias 'a'
Si lo haces al reves si se puede:
Código:
char *x=NULL; // Niños, acuerdense que los punteros siempre debn inicializarce en NULL
char m[10];
m[0]='a';
m[1]='\0';
x=m;
Así tendrías un puntero que "apunta" a la misma dirección del primer elemento del arreglo estático m.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:20.