Eu estou tentando aprender sobre ponteiros, e aprendi que existe uma relação entre ponteiros e arrays.
O que eu queria era construir um vetor só com ponteiros. Percebi que estava dando erro quando eu tentei fazer com (&array + n). Para fazer o teste, eu fiz uma função que transforma hexadecimal em decimal.
Só que não consigo passar o valor hexadecimal do ponteiro à função.
Eu adaptei o código para isso:
E a saída que eu consegui foi
Eu li que "&" seguido de uma variável é o local da mesma.
A saída desse segundo teste foi em hexadecimal.
Por que funciona com int e não com char?
Eu até tentei new char, e deu no mesmo.
Até mesmo o ponteiro não funciona:
a saída foi uma string de 4 dígitos, acho que é porque Code::Blocks usa 4 bytes para ponteiros.
Eu gostaria de saber o que estou fazendo de errado. Não ajuda muito também que sou um programador bem iniciante
Eu vou tentar achar algo sobre ponteiros, porque é bem difícil de usar no começo
Muito obrigado à todos. E se eu falei alguma bosta, eu agradeço se corrigir =]
O que eu queria era construir um vetor só com ponteiros. Percebi que estava dando erro quando eu tentei fazer com (&array + n). Para fazer o teste, eu fiz uma função que transforma hexadecimal em decimal.
Só que não consigo passar o valor hexadecimal do ponteiro à função.
Eu adaptei o código para isso:
Código:
char teste;
cout << &teste;
E a saída que eu consegui foi
Eu achei estranho, pois não é igual ao int.
Eu li que "&" seguido de uma variável é o local da mesma.
Código:
int teste;
cout << &teste;
Por que funciona com int e não com char?
Eu até tentei new char, e deu no mesmo.
Até mesmo o ponteiro não funciona:
Código:
char* teste;
char variavel = 'a';
teste = &variavel;
cout << teste;
Eu gostaria de saber o que estou fazendo de errado. Não ajuda muito também que sou um programador bem iniciante
Eu vou tentar achar algo sobre ponteiros, porque é bem difícil de usar no começo
Muito obrigado à todos. E se eu falei alguma bosta, eu agradeço se corrigir =]
Última edição: