Ir ao conteúdo
  • Cadastre-se

[DÚVIDA]Passando vetor de char para uma struct


Rudeiza

Posts recomendados

Bom, estou com um dúvida.

Estou tentando passar um vetor de caracteres para uma struct através de uma função, o problema é que nao estou conseguindo acertar na passagem de valores dentro da função; Abaixo o codigo:

#include <stdio.h>

typedef struct t{

char nome[100];

}teste;

void teste_parametro(teste *a, char *n);

int main(){

teste t;

teste *teste_p;

char name[20] = "Diego";

char *n_p;

n_p = name;

teste_p = &t;

gets(t.nome);

teste_parametro(teste_p, n_p);

printf("%s", t.nome);

getch();

return 0;

}

void teste_parametro(teste *a, char* n_1){

a->nome = n_1;

}

Tentei resumir o problema neste código.

Quando eu uso ponteiro na atributo nome da estrutura teste funciona beleza, porém, tive informações de que isto poderá causar problema a longo prazo tipo escrever sobre alguma informação que nao devia. Agradeço pela ajuda.

Link para o comentário
Compartilhar em outros sites



Não se pode igualar duas strings diretamente em C.

Com strings, você tem a biblioteca STRING.H
Lá você encontra os protótipos das funções de cópia de strings, e de movimentação de blocos de memória.

É só incluir no início do programa e usar:


Salve, Rudeiza.
#include <stdio.h>
#include <string.h>

[]'s

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...