IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   C ve C++ (https://www.ircforumlari.net/c-ve-c/)
-   -   Dinamik bellek yönetimi (https://www.ircforumlari.net/c-ve-c/495141-dinamik-bellek-yonetimi.html)

aSi 12 Temmuz 2012 12:50

Dinamik bellek yönetimi
 
Toplam 1 Eklenti bulunuyor.
Bir matrisin elemanlarını dışardan okuyup, dinamik hafıza yaratarak ekrana yazar. Dinamik hafıza kullanarak, dinamik çok boyutlu dizi oluşturacağız. Dinamik diziler için gereken bellek bölgesi, derleyici tarafından işletim sisteminden istenir, kullanılır ve daha sonra istenirse bu bölge boşaltırılır.

Kod:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>  // Dinamik hafıza için
main()
{
      int **matris;
      int satir,sutun;
      int i,j;
      printf("Satir sayisini giriniz: ");
      scanf("%d", &satir);
      printf("Sutun sayisini giriniz: ");
      scanf("%d", &sutun);
     
      matris= (int **) malloc(satir * sizeof(int)); // satır sayısına göre hafızada yer ayırıyoruz
     
      for(i=0; i<satir ; i++)
      {
              matris[i]= (int *) malloc (sutun * sizeof(int)); // Her satırda, sütun sayısı kadar hücrenin
                                                                  // hafızada ayrılmasını saglıyoruz
      }
     
      // matrisin elemanlarını dışarıdan okuyoruz
      printf("\nMatris elemanlarini giriniz:\n");
      for(i=0; i<satir ; i++)
      {
          for(j=0; j<sutun ; j++)
          {
                    printf("matris[%d][%d]= ", i, j);
                    scanf("%d", &matris[i][j]);
          }
      }
     
      printf("\n    ==Girilen matris==    \n");
      for(i=0; i<satir ; i++)      // matris elemanları teker teker yazdırılıyor
      {
          for(j=0; j<sutun ; j++)
          {
                    printf("%d  ", matris[i][j]);
          }
          printf("\n");
      }
     
      free(matris); // satır sayısına göre hafızada ayrılan yer boşaltılıyor
     
      for(i=0; i<satir; i++)
      {
              free(matris[i]); // Her satırda, sütun sayısı kadar
                                    // ayırdığımız hafızayı boşaltıyoruz
      }
       
      getch();
}


Eklentide çalıştır dosyası var onu çalıstırıp programın işlevini daha rahat görebilirsiniz.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 00:16.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk