Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2004, 09:15
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Lenguaje C, ayuda con un puntero.

Buenas tardes a todos, Foreros !!!

Quiero reservar X (Dependiendo de un param) espacios de memoria e inicializarlos a "_", y despues con un puntero que apunte a ese array, modificar una posición.

Para ello he hecho lo siguienete:

char *columnas, arr[ (int)(argv[1]) ];
int tamano, m;

for(m=0; m<(int)*argv[1]; m++){
arr[m]=(char)"_";
}
tamano=strlen(arr); //Quiero almacenar aqui el tamaño de la matriz
//printf("%i", tamano);

//Le digo al puntero que reserve esa memoria
columnas=(char)malloc((tamano-1)sizeof(char));

Esto en principio debería estar bien, ¿VerdaD?

Meda el siguiente error: error de decodificación antes de sizeof.



Y si pongo eso entre comentarios, también me da error al ejecutar en la linea:
arr[m]=(char)"_";

Me dice: Violación del segmento.


Bueno, se que pregunto mucho, pero es que por más que me peleo no soy quién a sacar el fallo (Y TAMBIÉN MIRO POR INTERNET, pero claro, estos fallos para encontrarlos . . . .).

En fin, si alguien puede hecharme una mano le estaría muy agradecido.

De todas formas, desde ya, gracias por la ayuda que siempre brinda la gente en este foro.

Saludos.

P.d.: A ti tb Eternal_Idol, nun te me alteres. XD
__________________
Charlie.