Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

msmsms

qual é a diferença entre *variavel e *variavel[] em c?

Mensagens Recomendadas

msmsms

qual é a diferença entre *variavel e *variavel[] em c?

exemplo:

int main(){
 int *variavel;
 int *variavel[];
}

Editado por Rui Carlos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

primeiro de tudo, não podes ter a segundo, só isso já é uma diferença.

voltando ao primeiro, o que tens é um ponteiro (valor numérico que representa uma posição de memória) para um inteiro (memória essa que deverá ser interpretada como um conjunto de 4 bytes que guardam um valor númérico inteiro com sinal).

o que terás no segundo, caso dês um valor dentro do parênteses recto ou executes a inicialização, será um array (lista) de ponteiros para inteiros

int * var1[2]; // uma lista de 2 ponteiros para inteiros
int * var2[] = {0, 0, 0}; // uma lista de 3 ponteiros para inteiros

var1[0]; // o primeiro ponteiro da lista e não podes assumir o seu valor
var1[1]; // o segundo ponteiro da lista e não podes assumir o seu valor
var1[2]; // ERRO, não se encontra dentro da lista !!!

var2[0]; // o primeiro ponteiro da lista e tem o valor de 0
var2[1]; // o segundo ponteiro da lista e tem o valor de 0
var2[2]; // o terceiro ponteiro da lista e tem o valor de 0
var2[3]; // ERRO, não se encontra dentro da lista !!!


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.