Prev Up Next
Go backward to Estruturas, inicializações, casts
Go up to Alguns exercícios a exemplos dados nas aulas teóricas
Go forward to Apontadores II, variaveis "automaticas"

Apontadores I



 // -----------------------------------------------------------------------------
 // Apontadores I

 int a,b,c[10];
 int * p;
 main(){
   a=5;
   p=&a;  // endereco de a
   // Valor de a por dois processos:
   printf("Valor = %-d, valor = %-d \n",a, *&a);
   // Localizacao de a por dois processos:
   printf("Endereco = %-u, ou = %-u \n",&a, p);
   printf("&a=%-u, &b=%-u, &c[0]=%-u,  &c[1]=%-u, &c[9]=%-u,\n",
           &a, &b, &c[0], &c[1], &c[9]);
   // vector e endereco do primeiro elemento
   printf("c=%u\n",c);
   c[2]=123;    // equivalente a *(a+3)=123
   *(c+3)=888;  // equivalente a c[3]=888
   printf("c[3]=%d ou=%d,     &c[3]=%u ou %u\n",
           c[3],      *(c+3), &c[3],      c+3);
 }
 /* Resultados
 Valor = 5, valor = 5 
 Endereco = 134518528, ou = 134518528 
 &a=134518528, &b=134518480, &c[0]=134518488,  &c[1]=134518492, &c[9]=134518524,
 c=134518488
 c[3]=888 ou=888,     &c[3]=134518500 ou 134518500
 */

%

Prev Up Next