Ir para o conteúdo
Flames

Vetor de ponteiros

Mensagens Recomendadas

Flames

Faça um programa que construa um vetor de caracteres (char) pedidos ao utilizador.

Deve, ainda, construir um segundo vetor, do tamanho do primeiro, mas, cujos

elementos são ponteiros para caracteres (char *). No seu programa, desenvolva as

seguintes funções:

1) Função que recebe os dois vetores e faça cada um dos elementos do segundo vetor

apontar para o da posição correspondente no primeiro vetor (a posição 0 do vetor de

ponteiros aponta para a posição 0 do vetor de caracteres, etc.).

O 1) simplesmente não percebo como fazer (I know I know que é simples por algum motivo ando aqui):

Segue o código que não faz o pretendido...

#include <stdio.h>
#include <stdlib.h>
#define maxim 3

void inserir_chars(char *v);
void imprimir(char *v);
void passagem_ponteiros(char *v, char *secundario);
int main()
{
char *vect_principal;
char *vect_secundario;
vect_principal=malloc((maxim+1)*sizeof(char));
vect_secundario=malloc((maxim+1)*sizeof(char));
inserir_chars(vect_principal);
passagem_ponteiros(vect_principal,vect_secundario);
imprimir(vect_secundario);
return 0;
}

void passagem_ponteiros(char *v, char *secundario){
int i;
char *ptr;
ptr=v;
char *ptr2;
ptr2=secundario;
for (i=0;i<maxim;i++){
/*so que assim fico com o valor e nao o ponteiro acho eu*/
/*maxim = 3*/
*ptr2=*ptr;
ptr++;
ptr2++;
}


}

void inserir_chars(char *v){
char *i;
char *final=v+maxim;
for(i=v;i<final;i++){
scanf("%s",i);
}
*(v+maxim)='\0';

}

void imprimir(char *v){
printf("%c",*v);
printf("%c",*(v+1));
printf("%c",*(v+2));


}

Editado por pmg
Falta LP no GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

não vou comentar o código, somente o tipo de dados :

// ponteiro para uma posição de memória em que
// os elementos nessa posição de memória serão interpretados como char's
// (cada elemento : 1 byte)
char * array1;

// ponteiro para uma posição de memória em que
// os elementos nessa posição de memória serão interpretados como ponteiros para char's
// (cada elemento : 4 byte, em cpu's de 32bits ou 8 bytes em cpu's de 64bits)
char ** array2;

agora corrige o teu código


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.