int *bayraktar; float *x, *y, *z
int *bozok = NULL;
new komutu ile bellekten istediğimiz veri Npi boyutunda bir yer alabiliriz.
int *ornek; //ornek adlı tamsayı gösterecek bir gösterge tanımlıyoruz. ornek = new int; //bellekten tamsayı kadar yer ayrılır, bu yerin adresi burada ornek'e aktarılır. *ornek = 9; //bellekten alınan yeni yere 9 atanır.
int *bozok=new int(9); //değişken tanımlanması esnasındada ilk ataması yapılabilir.
Dinamik bir Dizi Oluşturalım ve tekrar bellekten Silelim :
int *ornekdizi; //ornekdizimiz tamsayı gösterecek şekilde tanımlanır. ornekdizi=new int[10]; //bellekten 10 tamsayı dizisi için yer tahsis edilir ve dizinin adresi ornekdizi'ye atanır. ornekdizi[2]=16; //bellekten alınan dizinin 1.indeksteki elemanına 15 atanır.Bellekten new ile aldığımız yerler, kullanımları sona erdiğinde yeniden kullanılamazlar. Bu nedenle bellekten aldığımız hücreleri program bitmeden delete komutu ile silmemiz gerekir.
int *bozok=new int; //bozok göstergesine tamsayı boyutunda yerin adresi atanır. *bozok=16; //bozok göstergesinin gösterdiği yere 16 atanır. cout<<*bozok; //atanan 16 değeri yazdırılır. delete bozok; //ayrılan yer belleğe geri döndürülür.
int *ornekdizi; //ornekdizi adında tamsayı gösterecek bir gösterge tanımlanır. ornekdizi=new int[8]; //bellekten 8 tamsayı dizisi için yer ayrılır ve dizinin adresi ornekdizi'e atanır. ornekdizi[1]= 13; //bellekten alınan dizinin 1.indeksteki elemanına 13 atanır. delete [] ornekdizi; //oluşturulan dizinin tüm elemanları belleğe geri döndürülür.
Örnek:
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>
using namespace std;
void oku(int[],int);
int main(int argc, char *argv[])
{
int mevcut, toplam=0;
int max=0;
int *notlar;
cout<<"Sinif mevcudunu Giriniz: ";
cin>>mevcut; //Sınıf mevcudunu okuyoruz
notlar=new int[mevcut]; //Sınıf mevcudu kadar dinamik dizi yaratıyoruz
oku(notlar,mevcut);
for(int i=0; i<mevcut;i++)
{
toplam+=notlar[i];
if (notlar[i]>max)
max=notlar[i];
}
cout<<"Sinif Ortalamasi= "<<toplam/mevcut<<endl;
cout<<"En yuksek not = "<<max<<endl;
delete [] notlar;
getch();
}
void oku(int notDizi[], int boyut) //Notları okuduğumuz fonksiyon
{
cout<<"Notlari Giriniz:";
for(int i=0; i<boyut;i++)
cin>>notDizi[i];
}
Kaynak


