Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> // biblioteka podstawowa
- #include <malloc.h> // biblioteka alokacji pamięci
- #include <conio.h> // wiadomo .... _getch() i te sprawy
- // glowna funkcja
- int main()
- {
- // -TWORZENIE ZMIENNYCH
- printf("Tworzenie zmiennych\n\n");
- int *iZmiannaDynamiczna; // zwykla zmienna dynamiczna
- int *iTablica_1D_Dynamiczna; // tablica 1 wymiarowa
- int **iTablica_2D_Dynamiczna; // tablica 2 wymiarowa
- // zmienna = (rzutowanie na typ zmiennej ze wskaznikiem) malloc( rozmiar typu zmiennej * ilosc)
- // (typ *) - zwykla zmienna i tablica jedno wymiarowa
- // (typ **) -tablica dwu wymiarowa
- // -ALOKACJA
- printf("Alokacja pamieci zmiennych\n\n");
- // alokacja pamieci dla zwyklej zmiennej
- iZmiannaDynamiczna = (int *)malloc(sizeof(iZmiannaDynamiczna) * 1);
- // alokacja pamieci dla zmiennej tablicowej jedno wymiarowej o wymiarze [10]
- iTablica_1D_Dynamiczna = (int *)malloc(sizeof(iTablica_1D_Dynamiczna) * 10);
- // alokacja pamieci dla zmiennej tablicowej dwu wymiarowej o wymiarach [10][2]
- iTablica_2D_Dynamiczna = (int **)malloc(sizeof(iTablica_2D_Dynamiczna) * 10);
- for (int i = 0; i < 10; i++) {
- iTablica_2D_Dynamiczna[i] = (int *)malloc(sizeof(iTablica_2D_Dynamiczna[0]) * 2);
- }
- // -PRZYPISYWANIE
- printf("Przypisywanie wartosci do zmiennych\n\n");
- *iZmiannaDynamiczna = 5; // przypisanie liczby do zmiennej
- // przypisywanie wartosci do zmiennej tablicowej []
- for (int i = 0; i < 10; i++) {
- iTablica_1D_Dynamiczna[i] = i; // dowolna wartosc
- }
- // przypisywanie wartosci do zmiennej tablicowej [][]
- for (int i = 0; i < 10; i++) {
- for (int j = 0; j < 2; j++) {
- iTablica_2D_Dynamiczna[i][j] = i*j;// dowolna wartosc
- }
- }
- // -WYSWIETLANIE
- printf("Wyswietlanie zmiennych\n\n");
- printf("\tZmienna dynamiczna: %d\n\n" ,*iZmiannaDynamiczna); // wyswietlanie liczby do zmiennej
- printf("Wyswietlanie zmiennych tablicowych jedno wymiarowych\n\n");
- // wyswietlanie wartosci do zmiennej tablicowej []
- for (int i = 0; i < 10; i++) {
- printf("\tZmienna tablicowa 1 wymiarowa dynamiczna: %d\n", iTablica_1D_Dynamiczna[i]); // dowolna wartosc
- }
- printf("\n");
- printf("Wyswietlanie zmiennych tablicowych dwi wymiarowych\n\n");
- // wyswietlanie wartosci do zmiennej tablicowej [][]
- for (int i = 0; i < 10; i++) {
- for (int j = 0; j < 2; j++) {
- printf("\tZmienna tablicowa 2 wymiarowa dynamiczna: %d\n", iTablica_2D_Dynamiczna[i][j]);// dowolna wartosc
- }
- }
- printf("\n");
- // -ZWALNIANIE PAMIECI
- printf("Zwalnianie pamieci zmiennych\n\n");
- free(iZmiannaDynamiczna); // zwalnianie pamieci zmiennej
- // zwalnianie pamieci zmiennej tablicowej []
- free(iTablica_1D_Dynamiczna);
- //zwalnianie pamieci zmiennej tablicowej [][]
- for (int i = 0; i < 10; i++) {
- free(iTablica_2D_Dynamiczna[i]); // najpierw drugi wymiar
- }
- free(iTablica_2D_Dynamiczna); // potem calej tablicy
- printf("Koniec\n\n");
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement