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

Asignar puntero a un array

Estas en el tema de Asignar puntero a un array en el foro de C/C++ en Foros del Web. Buenas estoy intentando asignar un puntero a una dirección de un array, pero me da violación de semente, pongo la partecita asi se entiende bien. ...
  #1 (permalink)  
Antiguo 17/02/2011, 15:11
 
Fecha de Ingreso: enero-2008
Mensajes: 53
Antigüedad: 16 años, 10 meses
Puntos: 0
Asignar puntero a un array

Buenas estoy intentando asignar un puntero a una dirección de un array, pero me da violación de semente, pongo la partecita asi se entiende bien.
La idea es separar la cadena /show&idgps=1235 con el strtok, me devuelve dos resultados /show y igdps=1235, por eso cada uno de los resultados los quiero poner en una posición del array. Si alguien puede ayudarme muchas gracias.
Código:
 
#include <string.h>
 #include <stdio.h>
  int main(){
  
  char s1[] = "/show&idgps=1235";
  char *t1;
  char variables[2];
  int i;
  
  for ( t1 = strtok(s1,"&");t1 != NULL;t1 = strtok(NULL, "&")){
          variables[i]=t1; 
          i++;
                                                              }
          printf("La 1 es %s\n",variables[0]);
          printf("La 2 es %s\n",variables[1]);
  }
  #2 (permalink)  
Antiguo 17/02/2011, 15:28
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 14 años, 1 mes
Puntos: 9
Respuesta: Asignar puntero a un array

Tienes todo un lio ahi amigo, en primer lugar no se si se pueda hacer esta asignación.
Código c:
Ver original
  1. char s1[] = "/show&idgps=1235";

Yo se que puedes hacer algo asi
Código c:
Ver original
  1. char *s1 = "/show&idgps=1235";

Pero no se si de la forma que lo hiciste sea posible.

En segundo lugar, nunca reservas memoria para tu apuntador t1.
En tercera, variables es un arreglo de dos chars, osea una cadena de dos caracteres, y si a eso le sumas que necesitas uno para el fin de cadena, solo puedes utilizar un caracter.

Aprende un poco mas sobre arreglos y asignacion de memoria.
  #3 (permalink)  
Antiguo 21/02/2011, 02:00
 
Fecha de Ingreso: diciembre-2010
Mensajes: 21
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Asignar puntero a un array

¿Es imprescindible asignarle memoria al arreglo?
  #4 (permalink)  
Antiguo 22/02/2011, 11:11
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Asignar puntero a un array

Precisamente los errores de violación de segmento se dan, en su inmensa mayoría, por intentar utilizar arreglos a los que no se ha asignado memoria (estática o dinámica).

Etiquetas: asignar, puntero
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 00:53.