Ir para conteúdo
Fórum Script Brasil
  • 0

Retornar String


Inufelipe

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

Bom, o exemplo do post 2 é em C++ e por isso funciona. Em C (o codigo que voce postou) não funciona porque a constante "abc" que voce declarou possui escopo local (ela so existe dentro daquela funcao). Em C++ o que ele faz é criar um novo objeto string e devolver esse objeto.

Em C, voce deveria fazer algo assim:

char *get(){
        char *res;
        res = (char *) malloc (sizeof(char)*4);/*deve ser 4 pois em C todas as strings são terminadas com '\ 0'*/
        strcpy(res, "abc");
        return res;
}

Pois dessa forma voce esta devolvendo o ponteiro para onde esta o vetor de caracteres e não o vetor de caracteres em si. Sem contar que voce fez alocacao dinamica de memoria, que não esta restrita ao escopo da funcao.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...