You are on page 1of 2

Alocare dinamica matrice: printf("Nr linii: "); scanf("%d",&m); printf("Nr coloane: "); scanf("%d",&n); a = (int**)malloc(m*sizeof(int*)); for(i = 0 ; i < m ; i++)

a[i] = (int *)calloc(n,sizeof(int)); Alocare dinamica matrice sir caractere: a[k][max]; k= nr de siruri de caractere; max = lungimea maxima a = (char**)malloc(k*sizeof(char*)); for(i=0 ; i < k; i++) a[i]=(char*)calloc(max,sizeof(char)); Struct, aloc dinamic: struct autovehicul { char tip; union { int locuri; double tonaj; } capacitate; float km; char diesel; char marca[]; }; int main(void) { /* Pointer catre o structura de tipul definit mai sus. */ struct autovehicul *a; /* Buffer temporar pentru a citi marca, inainte de a face alocare dinamica. */ char buffer[100]; /* Citirea marcii. */ printf("Marca? "); fgets(buffer, 100, stdin); /* Scapam de '\n' citit de fgets. */ buffer[strlen(buffer) - 1] = 0; /* Alocam dinamic memorie. Includem spatiul pentru a memora marca. */ a = (struct autovehicul *) malloc(sizeof(struct autovehicul) + strlen(buffer) + 1); if (!a) { printf("Eroare alocare memorie.\n"); exit(EXIT_FAILURE); } Din baza 10 in restu: int main(void) { // conversie 10 -> int a, rest; printf("Dati numarul in scanf("%d", &a); printf("numarul in baza printf(" %x\n", a); printf("numarul in baza printf("numarul in baza rest=a; while (a) 16, 8, 2 (prin impartiri succesive) baza 10: "); 16 este"); 8 este %o\n", a); 2 este (in ordine inversa): ");

{ rest=a%2; printf("%d", rest); a=a/2; } printf("\n"); system("pause"); }

You might also like