C/Visual C - Parametros Por Referencia C

   
Vista:

Parametros Por Referencia C

Publicado por Cris Gilliver (1 intervención) el 18/02/2010 16:47:33
Hola!
Como estan? quiero hacer una funcion que modifique una variable global.
si si , asi de simple pasar un striing por referencia y modificar el valor de la variable global

y cuando compilo dice warning: passing argument 1 of ‘test’ from incompatible pointer type, haciendolo de la misma manera con variables enteras funciona bien, alquien poria orientarme que estoy haciendo mal??

Saludos y muchas GraciAS!

void test(char *p)
{
printf("parte1 sin procesar->%s\n",*p);
char aux="a";
*p=aux;
}

int main(void)
{
char p[]="S";
test(&p);
printf("parte1 procesada->%s\n",p);
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Parametros Por Referencia C

Publicado por Tom (481 intervenciones) el 18/02/2010 17:09:13
Tal y como lo estás haciendo, es el ejemplo ideal de uso de dobles punteros :)

Pero estás haciendo mal varias cosas:

Un char* se suele usar para strings, y no es lo mismo que un char a secas.
No puedes declarar char aux="a".
Si haces que un puntero apunte a una variable local, dicho puntero será inválido cuando la variable local desaparezca (al finalizar el bloque en que se declaró).

Repasa un poco estos conceptos básicos antes de meterte con punteros a punteros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel

RE:Parametros Por Referencia C

Publicado por Daniel (1 intervención) el 03/10/2012 16:49:49
No es una respuesta. Que yo sepa, esta web no está erigida tan sólo para los "expertos", sino que también para todo aquél que lo quiera, sean novatos o expertos. Gilliver te preguntó algo puntual, y tú, a parte de no responder lo que te preguntó (que, imagino, tal vez no lo entendiste), te pusiste a revisar otras cosas que, si bien es cierto estaban como la callampa, no venía al caso y, peor, terminaste enrostrándole a la cara que era un novato flojo. Según tú, "Tom", hasta cuándo llega el repaso básico y dónde empieza la "expertice"? Si Gilliver repasa todo lo básico, es muy posible que ya no necesite de este foro ni de tontitos respondiendo cualquier cosa menos lo que es necesario. ¡Y más encima, ni siquiera estabas obligado a responder! Con un poco más de humildad, simplemente hubieses desestimado la pregunta y la hubieses dejado pasar.
Para tarados arrogantes, suficiente con lo que me rodea e, incluso, con lo que veo al espejo cada mañana. Espero que la calidad de este foro mejore, porque con personas como este "Tom", ¿quién querrá entrar a este foro en el futuro? ¿quién confiará en este foro?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar