Documente Academic
Documente Profesional
Documente Cultură
Programare Procedural
Pointeri
Obiective:
aplicaii
aplica ii care folosesc pointeri,legatura dintre pointeri si tablouri,legatura dintre pointeri si
functii
1.Realizai un program care afieaz
afi
dou valori cu ajutorul pointerilor.
Rezolvare:
#include <stdio.h>
void main(){
int i, j;
int *pInt;
i = 5;
j = 2;
pInt = &i;
printf("\n*pInt
n*pInt are valoarea %d\n",*pInt);
%d
pInt = &j;
printf("\n*pInt
n*pInt are valoarea %d\n",*pInt);
%d
}
La compilarea programului,pe
ui,pe ecranul dumneavoastr
dumneavoastr se va afia :
Figura 11.1
printf("%d\n",
n", *++p); /* afiseaza valoarea
lui t[3] */
printf("%d\n",
n", ++*p); /* afiseaza valoarea
incrementata a lui t[3] */
}
La compilarea programului,pe
ui,pe ecranul dumneavoastr
dumneavoastr se va afia :
Page 1
Figura 11.2
La compilarea programului,pe
ui,pe ecranul dumneavoastr
dumneavoastr se va afia :
Figura 11.3
Page 2
citire1();
tiparire1();
citire2();
tiparire2();
getch();
}
Figura 11.4
return(adresa_start);
}
void main(void)
{
char *titlu="Totul despre C/C++";
char *sir;
sir=sir_majuscule(titlu);
printf("%s\n", sir);
printf("%s\n",
n",
sir_majuscule("Matrice
pointeri"));
}
si
La compilarea programului,
ui, pe ecranul dumneavoastr
dumneavoastr se va afia :
Figura 11.5
Page 3
}
void afisare(int n,int*x)
{int i;
for(i=0;i<n;i++)
printf("%d",x[i]);
printf("\n");
}
void reuniune(int nx,int*x,int ny,int
*y,int*nz,int*z)
{int i;
for (i=0;i<nx;i++)
z[i]=x[i];
*nz=nx;
for(i=0;i<ny;i++)
if(!apar(*nz,z,y[i]))
{
z[*nz]=y[i];
(*nz)++;
}
}
void main()
{
clrscr();
citeste(&nx,x);
citeste(&ny,y);
reuniune(nx,x,ny,y,&nreun,reun);
afisare(nreun,reun);
getch();
}
La compilarea programului,
ui, pe ecranul dumneavoastr
dumneavoastr se va afia :
Figura 11.6
Page 4
{
int contor = 0;
while (contor<10)
inc_contor(&contor);
printf("contor: %d\n",contor);
n",contor);
}
La compilarea programului,pe
ui,pe ecranul dumneavoastr
dumneavoastr se va afia :
Figura 11.7
urm
program?
8.Facultativ:Ce afieaz urmtorul
Rezolvare:
#include <stdio.h>
void f1(int a)
{
printf("%d\n",a);
}
void main(void)
{
void (*f1_ptr)(int);
f1_ptr=f1; /* pointerul f1_ptr va indica
spre functia f1 */
(*f1_ptr)(4); /* prin intermediul lui f1_ptr
se apeleaza functia f1 */
}
La compilarea programului,pe
ui,pe ecranul dumneavoastr
dumneavoastr se va afia :
Figura 11.8
Page 5