Código
Bueno pos la salida de main me devuelve por un lado
#include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> struct tcola { char trabajo[80]; struct tcola *sig; }; void crear(struct tcola **cola) { *cola = NULL; } int vacia(struct tcola *cola) { return (cola == NULL); } void encolar(struct tcola **cola, char elem[80]) { struct tcola *nuevo; nuevo->clave=elem; if (*cola == NULL) nuevo->sig = nuevo; else { nuevo->sig = (*cola)->sig; (*cola)->sig = nuevo; } (*cola) = nuevo; } void desencolar(struct tcola **c1,char elem[]) { struct tcola *aux; elem= (c1*)->sig->clave; if ((*c1) == (*c1)->sig) { *c1 = NULL; } else { aux=(*c1); (*c1)= aux->sig; } } void cliente(int indiceCliente) { char cadena[]="hola que tal"; cadena[2]='b'; encolar(&cola,cadena); } int main(void) { char *cad; crear(&cola); cliente(3);// la cola es una variable global desencolar(&cola,&cad); }
"en desencolar hoba que tal" ( esto es el primer string que uso como banderita)
aqui una cadena de "basura". como si no modificara el valor de la cadena, mi problema es que no se como devolver la cadena de caracteres en el procedimiento desencolar. No se pasarlo bien por referencia... Alguien me ayuda?¿