Dokuman Anasayfa
 


 

İşaretçiler ve Diziler

4. İşaretçiler ve Diziler

C++ da İşaretçiler ve diziler arasında çok yakın bir ilişki vardır. Bir dizinin ismi, dizideki ilk elemanın adresini içeren sabit bir değişkendi. Bundan diziler bölümünde bahsetmiştik. Şimdi işaretçiler ile dizileri ilişkilendirirsek, dizilerin adlarının birer işaretçiden oluştuğunu görmüş olacağız.

*(a+i)
a[i]

Bu sayede bu iki ifadenin aynı olduğunu söylemiş oluruz. Bir de çok boyutlu dizilere uyarlarsak,

*(*(a+i)+j)
a[i][j]

şeklini alır.

İnt a[100];
İnt *is1=&a[100];

Örneğimiz;

//işaretçi ve diziler
#include <iostream.h>

void KareAl(int *sayi) {
  *sayi *= *sayi; 
}
void KareAlDizi(int *is1) {
  for (int i=0; i<10; i++)
    is1[i] *= is1[i];
}
int main() {
  int x = 50;
  int intis1[10];
  KareAl(&x);
  cout<<"x = "<<x<<endl;
 KareAlDizi(intis1); 
 cout<<intis1;

  return 0;
}

Örneğimizi adım adım takip edersek: void KareAl(int *sayi) burda sayi adında bir işaretçiyi kullanarak bir fonsiyon tanımlanıyor. Fonksiyonumuzun adı kare alma. İkinci fonksiyonda ise is1 isimli bir işaretçi ile parametresini giriyoruz, fakat işlem diziler üstünde sürüyor. Demiştik ya, dizilerin adları da birer işaretçiden oluşur. Sonraki main() fonksiyonumuzda da, x sabit değişkenimizi ve int tipindeki intis1[ ] dizimizi tanımlıyoruz. Referans yolu ile fonksiyonumuzu sabit değeri gönderiyoruz. Bir diğer işlemle de işaretçi parametresine sahip fonksiyonumuza bir dizi gönderiyoruz. Sanırım gayet basit oldu:). Bu sayede fonksiyonları da konuya ilişkilendirmiş olduk.

 

» Hakkımızda
  İcerikde ekli bulunan dokumanların her hangı bır websitesi veya baska bır kaynakla alakası yoktur.Tamamen bizim emegimiz olan bu dokumalar uzun cabalar sonucunda bukadarı bır araya getirilmistir.Onun için emege saygılı olalım.
Genel Sorumlu ::  [ Site Yöneticisi ]  [ By SaNaLLord
 . Anasayfa . Bize ulasin . 
SaNaLLoRd Bilgi İşlem merkezi Genel tasarim ve kodlamada son nokta