Jump to content
  • 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?

Recommended Posts

msmsms

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

exemplo:

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

Edited by Rui Carlos

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.