Tenho um problema com um código que estou desenvolvendo... Vejam abaixo
typedef struct thread
{ int base;
int topo;
} thread;
void CriaThread(thread *atual, void (*f)(void))
{ printf("Estou em CriaThread!\n");
(*atual).topo = malloc(30*sizeof(int));
printf("Topo is %d\n",(*atual).topo);
(*atual).base = (*atual).topo + 30*sizeof(int);
printf("Base is %d\n",(*atual).base);
}
int main(void)
{
thread i;
CriaThread (&i,&hello);
}
O ponto é o seguinte. Em (*atual).topo eu tenho o endereço mais baixo da função malloc. Agora, eu quero ir acessando essas posições e atribuindo zero a elas desde a posição contida em (*atual).topo até a posição contida em (*atual).base.
Como eu faço essa indireção? Eu tentei por *( (*atual).topo ) = 0, &( (*atual).base ) = 0 e nada disso deu certo! Dava erro no gcc... Valeu! :D
Pergunta
Guest janseN
Olá pessoal
Tenho um problema com um código que estou desenvolvendo... Vejam abaixo
O ponto é o seguinte. Em (*atual).topo eu tenho o endereço mais baixo da função malloc. Agora, eu quero ir acessando essas posições e atribuindo zero a elas desde a posição contida em (*atual).topo até a posição contida em (*atual).base.
Como eu faço essa indireção? Eu tentei por *( (*atual).topo ) = 0, &( (*atual).base ) = 0 e nada disso deu certo! Dava erro no gcc... Valeu! :D
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.