home *** CD-ROM | disk | FTP | other *** search
/ ftp.disi.unige.it / 2015-02-11.ftp.disi.unige.it.tar / ftp.disi.unige.it / pub / .person / CataniaB / teach-act / esempi / Puntatori / aritm.c < prev    next >
C/C++ Source or Header  |  1997-04-08  |  817b  |  40 lines

  1. #include <stdio.h>  
  2.  
  3. /* Aritmetica dei puntatori: in C si possono eseguire operazioni
  4.  * aritmetiche e booleane (<,>,== ecc) tra puntatori:
  5.       p+n p-n se  p puntatore, n INTERO
  6.       p-q     "   p,q puntatori (NO: p+q!)
  7.  
  8.  * Ad esempio, data   int *p;
  9.         allora  p=p+n
  10.  
  11.  * sposta il puntatore "p" di "n" unita' ognuna corrispondente
  12.  * alla dimensione della cella *p (in questo caso un intero=4 byte)
  13.  * cioe`:  valore(p) diventa valore(p)+(n*sizeof(int))
  14.  * Utile per muoversi in un array!*/
  15.  
  16. main()
  17. {
  18.  int x;
  19.  int a[10]={29,1000,7};
  20.  int *p;
  21.  
  22.  p=a;     
  23.   
  24.  p=p+1;  /* punta ad a[1] !!! */
  25.  printf("\n %d",*p);
  26.     
  27. /* output:   1000 */ 
  28.  
  29.  p=a+2;  /* punta ad a[2] !!! */
  30.  printf("\n %d",*p);
  31.    
  32. /* output: 7 */
  33.  x=p-a;  /* distanza (in caselle) da p ad a */
  34.  printf("\n %d",x); 
  35.     
  36. /* output: 2 */
  37.  
  38. }
  39.  
  40.