CPP 035 – Array Of Pointers Vs Pointer To An Array

Pointerları tutan bir array ile bir array’i referans eden pointerın farkını göreceğiz.

Pointerları tutan array – Array Of Pointers

Nasıl birden fazla değişken kullanmak yerine array kullanıyorsak. Birden fazla pointer kullanmamız gereken durumlarda da array kullanabiliriz.

#include <iostream>
using namespace std;

int main() {
	int sayi0, sayi1, sayi2, sayi3, sayi4;
	sayi0 = 1;
	sayi1 = 4;
	sayi2 = 9;
	sayi3 = 16;
	sayi4 = 25;

	// Array kullanmadan 
	int* ptr0, * ptr1, * ptr2, * ptr3, * ptr4;
	ptr0 = &sayi0;
	ptr1 = &sayi1;
	ptr2 = &sayi2;
	ptr3 = &sayi3;
	ptr4 = &sayi4;

	// Array ile 
	int* ptr_arr[5]; // 5 tane pointer ihtiva eden bir array oluşturduk
	ptr_arr[0] = &sayi0;
	ptr_arr[1] = &sayi1;
	ptr_arr[2] = &sayi2;
	ptr_arr[3] = &sayi3;
	ptr_arr[4] = &sayi4;

	// yani bildiğimiz array. 
}

Array’i referans eden pointer

Bunda ise pointerlar nasıl int, string, bool, … gibi çeşitli değişkenleri referans edebiliyorsa, gösteriyorsa aynı şekilde bir array’i de poniterla referans edebiliriz.

#include <iostream>
using namespace std;

int main() {
	int sayilar[5];
	sayilar[0] = 1;
	sayilar[1] = 4;
	sayilar[2] = 9;
	sayilar[3] = 16;
	sayilar[4] = 25;

	int(*ptr)[5]; // 5 integer ihtiva eden bir array'i referans eden bir pointer
	ptr = &sayilar; 
}

https://stackoverflow.com/questions/20120054/pointer-to-an-array-and-array-of-pointers


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *