uso dei puntatori. uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10];...

8
Uso dei puntatori

Upload: jordan-peterson

Post on 26-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

Uso dei puntatori

Page 2: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

Uso dei puntatori (1/2)#include <stdio.h>main(){int x, *p, y=2, z[10];

printf("\n/*\n");printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x;printf(" Prima di <*p=3> x = %d\n",x); *p=3;printf(" Dopo <*p=3> x = %d\n",x);

printf("\nEs.2:int x=1,y=2,z[10];p=&x;\n\n"); x=1;printf(" Prima di <y= *p> y = %d\n",y); y=*p;printf(" Dopo <y= *p> y = %d\n\n",y);printf(" Prima di <*p=0> x = %d\n",x); *p=0;printf(" Dopo <*p=0> x = %d\n",x);printf("\n*/\n");}

Page 3: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

Uso dei puntatori (2/2)/*

Es.1: int x,*p; p= &x;

Prima di <*p=3> x = 0 Dopo <*p=3> x = 3

Es.2:int x=1,y=2,z[10]; p=&x;

Prima di <y= *p> y = 2 Dopo <y= *p> y = 1

Prima di <*p=0> x = 1 Dopo <*p=0> x = 0

*/

Page 4: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

Puntatori e Array (1/2)#include <stdio.h>main(){int a[10], *pa, i;pa= &a[0];printf("\n/* Esempi sull'uso dei puntatori\n\n");for (i=0;i<10;i++) { a[i]=i; printf("a[%d]=%d; *(pa+%d)=%d; pa[%d]=%d\n",i,a[i],i,*(pa+i),i,pa[i]); }printf("\n*/\n");}

Page 5: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

Puntatori e Array (2/2)/* Esempi sull'uso dei puntatori

a[0]=0; *(pa+0)=0; pa[0]=0a[1]=1; *(pa+1)=1; pa[1]=1a[2]=2; *(pa+2)=2; pa[2]=2a[3]=3; *(pa+3)=3; pa[3]=3a[4]=4; *(pa+4)=4; pa[4]=4a[5]=5; *(pa+5)=5; pa[5]=5a[6]=6; *(pa+6)=6; pa[6]=6a[7]=7; *(pa+7)=7; pa[7]=7a[8]=8; *(pa+8)=8; pa[8]=8a[9]=9; *(pa+9)=9; pa[9]=9

*/

Page 6: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

PROTOTIPOvoid leggivet (int[], int);void leggivet (int *, int); DICHIARAZIONEint vet[10], dim;int *vet, dim;vet=(int *)malloc(dim*sizeof(int));vet=(int *)calloc(dim, sizeof(int));

CHIAMATA leggivet (vet, dim);leggivet (&vet[0], dim); DEFINIZIONE void leggivet (int par[], int ind)void leggivet (int *par, int ind); USO par[j]=temp;*(par+j)=temp;

VETTORI, PUNTATORI e FUNCTION

Page 7: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

PROTOTIPOvoid leggimat (int[][10], int);void leggimat (int **, int); DICHIARAZIONEint mat[10][10], ri, co;int **mat, ri, co;mat=(int *)malloc(ri*sizeof(int));mat=(int *)calloc(ri, sizeof(int));for (i=0;i<ri;++i)mat[i]=(int*)malloc(co*sizeof(int));mat[i]=(int*)calloc(ri,sizeof(int));

MATRICI, PUNTATORI e FUNCTION (1/2)

Page 8: Uso dei puntatori. Uso dei puntatori (1/2) #include main() { int x, *p, y=2, z[10]; printf("\n/*\n"); printf("\nEs.1: int x,*p; p= &x;\n\n"); p=&x; printf("

CHIAMATA leggimat (mat, dim);leggimat (&mat[0], dim); DEFINIZIONE void leggimat (int par[][10], int ind)void leggivet (int **par, int ind); USO par[j][k]=temp;*(*(par+j)+k)=temp;

MATRICI, PUNTATORI e FUNCTION (2/2)