You are on page 1of 2

#include <stdio.

h>
#include <iostream>
#include <stdlib.h>
using namespace std;//pt scrierea prescurtata, fara std::cout, etc
int main()
{
//date de baza
char c1, c2 = 'A';//tipul char
int i1, i2 = 10;//tipul int
float f1, f2 = 1.2;//tipul float
double d1, d2 = 1.e-4;//tipul double
printf("%c\t%d\t%3.1f\t%g\n", c2, i2, f2, d2);//in stdio
cout << c2 << "\t" << i2 << "\t" << f2 << "\t" << d2 << endl;//in iostream
cout << "char: " << sizeof(c2) << "\t" << "int: " << sizeof(i2) << "\t" << "
float: " << sizeof(f2) << "\t" << "double: " << sizeof(d2) << "\tOcteti" << endl
;
//ponteri
//void
void *pv;
pv = &i2;
printf("%d\n",*(int*)pv);
cout << *(int*)pv << endl;//convertirea tipului void - modificator de tip
//pt un tip definit, si anume int
int *p;
int a = 10;
p = &a;//adresa lui a
*p = 20;// continutul memoriei de la adresa punctata de p
cout << *p << "\t" << a << endl;
int *p1 = new int;//alocare zona memorie, al carei continut il reprezinta un
intreg, adresa ei fiind reprezentata de p1
*p1 = 30;
cout << *p1 << endl;
delete p1;//obligatoriu, datorita alocarii memoriei pt pointerul p1
/*
int *p1;
p1 = (int *)malloc(1 * sizeof(int));
*p1 = 55;
cout << *p1 << endl;
free(p1);
*/

//tablouri
int tablou1[4] = {1, 2, 3}, tablou2[][2][3] = {1}, tablou3[2][2] = {1, 2, 3}
;
int i, j;
cout << tablou1[2] << "\t" << *(tablou1+2) << endl << endl;
for(i = 0; i < 2; i++)
{
for(j = 0; j < 2; j++) cout << tablou3[i][j] << "\t";
cout << endl;
}

system("PAUSE");//in stdlib
return 0;
}

You might also like