Ana içeriğe atla

C++ New ve Delete Komutları

    New komutu ile ram üzerinden bellek ayırarak; kodların derlenmesinden sonra boyutları değişebilen dizi ve matris yapıları gibi boyut yani kaç elemanlı olacağını bildirmemiz gereken durumlarda oldukça kullanışlıdır.

    Örneğin öğrenci notları üzerine bir masaüstü program yapıyoruz, programda öğrenci sayısı girilmeden bir ekle butonu ile öğrenci ekleme durumunda new komutu işimize yarayacaktır.

    New komutu ile RAM üzerinde hafıza ayrılır, ramden ayrılan hafızaya ulaşabilmek için bir pointer üzerine bu hafızanın başlangıç adresi kaydedilir.
    Örneğin ramde 5 elemanlı bir dizilik yer ayırır ve bu dizinin başlangıç adresini bir pointer ile tutarız.

    Konsol üzerinde çalışacak bir uygulama ile new ve delete komutunu daha iyi anlayalım.

#include <iostream>

using namespace std;

int main()
{
	int eleman_sayisi; 
	//kullanıcıdan eleman sayısını almak için bir degişken oluşturduk
					   
	cout<<"kac elamanli dizi olusturmak istersiniz: "<<endl;
	//ekrana kullanıcı için bir komut cümlesi yazdırdık
	
	cin>>eleman_sayisi;
	//kullanıcıdan eleman sayısını aldık
	
	int *pointer;
	//dizinin başlangıç adresini oluşturmak için bir pointer tanımladık
	
	pointer = new int[eleman_sayisi];
	//dizimizi tanımlayarak, dizinin başlangıç adresini pointer'a atadık
	
	cout<<endl<<pointer;
	//pointer'a atanmış olan dizinin ilk adresini ekrana yazdırdık
	
        delete[] pointer;
        //delete komutu ile ramde alan işgal ettigimiz hafızayı serbest
        //bıraktık
	return 0;
}

Yorumlar

Bu blogdaki popüler yayınlar

Matlab Operatörler

Matematiksel operatörler: +  Toplama –  Çıkarma *  Çarpma /  Bölme ^  Üst alma .* Elemanter çarpım ./  Elemanter bölme .^  Elemanter üst alma a+b  Boyutları aynı olan a ve b matrisini toplar. a-b  Boyutları aynı olan a ve b matrislerinin farkını alır. a*b  Sütun sayısı m olan a matrisiyle satır sayısı m olan b matrisini çarpar. a/b  b düzenli kare bir matrisse (determinantı sıfırdan farklıysa), aynı boyutlu a matrisiyle; a*inv(b)işlemini yapar. a.*b  Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı olarak çarpar. a./b  Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı oranlar. sqrt  Kök alma abs  Mutlak değer rats  Kesirli gösterim Mantıksal operatörler: &  Ve |  Veya ~  Değil /  Bölme Karar operatörleri: >  Büyüktür <  Küçüktür >=  Büyük eşittir <=  Küçük eşittir ==  Eşittir ~=  Eşit değildir

Matlab Random Sayı Üretme

randi() Matlab üzerinde random sayı üretmek için en iyi komut randi() 'dir. rand() fonksiyonu ya da komutu ile de random sayı üretilebilir. Bu yazıda randi() komutunu anlatacağım ve yazının sonundaki link ile birbirinden farklı en tane sayı üretme algoritmasını paylaşacağım. Önemli: Bu sayfadaki matlab fonksiyonları ve açıklamaları matlabın orjinal sayfasından edinilmiştir. https://www.mathworks.com/help/matlab/ref/randi.html Örnek: randi(10,5) > 1'den 10'a kadar 5x5'lik bir random sayı matrisi üret. r = randi(10,5) %matlab komutu r = 5×5 9 1 2 2 7 10 3 10 5 1 2 6 10 10 9 10 10 5 8 10 7 10 9 10 7 Örnek:  randi ([-5,5],10,1) > -5'den başlayıp 5'e kadar 10 satır ve 1 sütuna sahip 10x1'lik bir randım sayı matrisi oluturur. "1" değiştirilerek başka boyutlarda da matris oluşturulabilir. r = randi([-5,