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 >
Wrap
C/C++ Source or Header
|
1997-04-08
|
817b
|
40 lines
#include <stdio.h>
/* Aritmetica dei puntatori: in C si possono eseguire operazioni
* aritmetiche e booleane (<,>,== ecc) tra puntatori:
p+n p-n se p puntatore, n INTERO
p-q " p,q puntatori (NO: p+q!)
* Ad esempio, data int *p;
allora p=p+n
* sposta il puntatore "p" di "n" unita' ognuna corrispondente
* alla dimensione della cella *p (in questo caso un intero=4 byte)
* cioe`: valore(p) diventa valore(p)+(n*sizeof(int))
* Utile per muoversi in un array!*/
main()
{
int x;
int a[10]={29,1000,7};
int *p;
p=a;
p=p+1; /* punta ad a[1] !!! */
printf("\n %d",*p);
/* output: 1000 */
p=a+2; /* punta ad a[2] !!! */
printf("\n %d",*p);
/* output: 7 */
x=p-a; /* distanza (in caselle) da p ad a */
printf("\n %d",x);
/* output: 2 */
}