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

Passar String como parametro?


tiagokos

Pergunta

2 respostass a esta questão

Posts Recomendados

  • 0

Tiagokos, veja bem o nome da string representa um ponteiro para a primeira posicao e a linguagem c/c++ considera tudo que encontra pela frente como parte da string , ou no caso de um vetor de char "char str[N]" ela tera N caracteres , assim sendo uma funcao que recebe uma string como parametro recebera simplemente um ponteiro para a primeira posicao do vetor - todas as funcoes da biblioteca string fazem isso .

Exemplo - bem simples:

void printString(char* strRecebida)/*não sabedo a tamanho da string voce pode usar este recurso de "char*" */
{
  printf("Sua string : %s",strRecebida);
}
CUIDADO : Strings em c são passadas por referencia , ou seja , não altere essa string dentro da funcao. :wacko: Exemplo - um pouco mais complicado:
void alterarString(char* strRecebida)
{
  strcpy(strRecebida,"ESTRAGUEI");
}
int main
{
  char str[20]="MINHA STRING";
  printf("Minha string: %s",str);/*IMPRIMIRA : Minha string : MINHA STRING*/
  alterarString(str);
  printf("Minha string alterada: %s",str);/*IMPRIMIRA Minha string alterada : ESTRAGUEI*/
}

para evitar esse problema deve-se colocar "const" :ninja: no prototipo da funcao

void alterarString(const char* strRecebida)

ai o compilador avisara se você tentar alterar algo na string dentro da funcao

Espero ter ajudado, acho que me empolguei um pouco na minha primeira resposta

VLW!!!!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...