C Göstericiler (Pointers) Kullanımı

C Göstericiler (Pointers) Kullanımı

Tarhi : 30-12-2020 08:11:27 | Yazar : ÇAĞLAR BOSTANCI

Merhaba. Göstericiler (Pointers), bir değişken oluşturduğunuzda değişken tipine göre RAM’da bir alan ayrılır. Ayrılan alanın bir referans değeri vardır. Değişken çağırıldığında ilgili dataya ulaşmak için bu referans değeri kullanılır. Referans değerlerinin tutulduğu değişkenlere ise Gösterici (Pointers) denir. Göstericiler robot yazılımlarında ve otomasyon yazılımlarında sık olarak kullanılmaktadır.

Göstericiler C dilini değerli kıklan özelliklerden biridir. Donanım düzeyinde yazılımlar geliştirecekseniz göstericiler vazgeçilmezinizdir. Aynız zamanda karar yapıları kullanılabilmektedir. Elektronik Mühendisliğin vaz geçilmezidir. Bu sebepten Elektronik Mühendisliğinde C dili öğretilmektedir.

Oluşturduğumuz değişkenlerin referans değerlerini, değişkenlerin önüne & operatörü koyarak öğrenebiliriz. Tabi bu değeri ekrana yazarkende %X parametresi ile ilişkilendirmeliyiz. Aşağıda örnek bir kullanımın bulunmaktadır.

C Gösterici Tanımlama

Evet buraya kadar anlaşıldığını var sayıyorum ve devam ediyorum. Değerli arkadaşlar bizlerde gösterici tanımlayabiliyoruz. Tanımlamış olduğumuz göstericilerede oluşturduğumuz değişkenlerin referans değerlerini atayabiliyoruz. Şimdi de değikenlerin referans değerlerini tuttuğumuz bir gösterici tanımlayalım. Öncelikle bir gösterici tanımlayacaksak degiskentipi *degisken şeklinde tanımlamalıyız. Göstericileri diğer değişken tanımlamalarından ayıran özellik değişken isminin önüne * operatörünün geliyor olması.

Ram belleğin yapısı bir kitaplık gibi raf şeklindedir. Bir referans değeri örenğin 2. raf ise bir üst rafa erişmek için 2+1 işlemi yaparak üçüncü rafa erişim sağlamış oluruz. Yani belirlenmiş bir referans değeriyle ileri geri yaparak kitaplığı gezebiliriz.

Dizi değişkenler sıralı referans değeri alarak RAM’da oluşturulmaktadır. Öreneğin 5 degerli bir dizi değişken oluşturulduğunda RAM’da sıralı olarak raflara yerleşirler. İlkrafın referans numarasını dizi değişekenin adından veya sıfınrıncı index’inden öğreniriz. Örenğin char degiken[5] dizisinin ilk referans değerini &degisken veya &degiken[0] şeklinde alabiliriz ve göstericiği bir artırarak gezinebiliriz.

Şimdide dizi değişkeni döngüye sokarak referans numaraları ile ekrana sıralayalım.


Array ( [0] => WP_Term Object ( [term_id] => 468 [name] => C başlangıç [slug] => c-baslangic [term_group] => 0 [term_taxonomy_id] => 468 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 3 [filter] => raw ) [1] => WP_Term Object ( [term_id] => 478 [name] => C de Dört İşlem [slug] => c-de-dort-islem [term_group] => 0 [term_taxonomy_id] => 478 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [2] => WP_Term Object ( [term_id] => 476 [name] => C de Sabit Değişken Tanımlama [slug] => c-de-sabit-degisken-tanimlama [term_group] => 0 [term_taxonomy_id] => 476 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [3] => WP_Term Object ( [term_id] => 475 [name] => C Değişken Tipleri [slug] => c-degisken-tipleri [term_group] => 0 [term_taxonomy_id] => 475 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [4] => WP_Term Object ( [term_id] => 467 [name] => C dersleri [slug] => c-dersleri [term_group] => 0 [term_taxonomy_id] => 467 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 4 [filter] => raw ) [5] => WP_Term Object ( [term_id] => 469 [name] => C programlama dili [slug] => c-programlama-dili [term_group] => 0 [term_taxonomy_id] => 469 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [6] => WP_Term Object ( [term_id] => 486 [name] => C’de Continue Kullanımı [slug] => cde-continue-kullanimi [term_group] => 0 [term_taxonomy_id] => 486 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [7] => WP_Term Object ( [term_id] => 483 [name] => C’de Dallanma Komutu GOTO Kullanımı [slug] => cde-dallanma-komutu-goto-kullanimi [term_group] => 0 [term_taxonomy_id] => 483 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [8] => WP_Term Object ( [term_id] => 485 [name] => C’de Do while Kullanımı [slug] => cde-do-while-kullanimi [term_group] => 0 [term_taxonomy_id] => 484 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [9] => WP_Term Object ( [term_id] => 481 [name] => C’de Döngüler [slug] => cde-donguler [term_group] => 0 [term_taxonomy_id] => 481 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [10] => WP_Term Object ( [term_id] => 482 [name] => C’de For Döngüsü [slug] => cde-for-dongusu [term_group] => 0 [term_taxonomy_id] => 482 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [11] => WP_Term Object ( [term_id] => 480 [name] => C’de İf-else if Kullanımı [slug] => cde-if-else-if-kullanimi [term_group] => 0 [term_taxonomy_id] => 480 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [12] => WP_Term Object ( [term_id] => 477 [name] => C’de Kara Yapıları İf Kullanımı [slug] => cde-kara-yapilari-if-kullanimi [term_group] => 0 [term_taxonomy_id] => 477 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [13] => WP_Term Object ( [term_id] => 479 [name] => c’de switch Kullanımı [slug] => cde-switch-kullanimi [term_group] => 0 [term_taxonomy_id] => 479 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [14] => WP_Term Object ( [term_id] => 484 [name] => C’de While Döngüsü [slug] => cde-while-dongusu [term_group] => 0 [term_taxonomy_id] => 485 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [15] => WP_Term Object ( [term_id] => 17 [name] => çağlar hoca [slug] => caglar-hoca [term_group] => 0 [term_taxonomy_id] => 17 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 12 [filter] => raw ) [16] => WP_Term Object ( [term_id] => 169 [name] => PHP Hocası [slug] => php-hocasi [term_group] => 0 [term_taxonomy_id] => 169 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 19 [filter] => raw ) [17] => WP_Term Object ( [term_id] => 171 [name] => PHP Uzmanı [slug] => php-uzmani [term_group] => 0 [term_taxonomy_id] => 171 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 24 [filter] => raw ) [18] => WP_Term Object ( [term_id] => 473 [name] => programlama [slug] => programlama [term_group] => 0 [term_taxonomy_id] => 473 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [19] => WP_Term Object ( [term_id] => 471 [name] => programlama dersleri [slug] => programlama-dersleri [term_group] => 0 [term_taxonomy_id] => 471 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [20] => WP_Term Object ( [term_id] => 472 [name] => turkey php developer [slug] => turkey-php-developer [term_group] => 0 [term_taxonomy_id] => 472 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 3 [filter] => raw ) [21] => WP_Term Object ( [term_id] => 164 [name] => web tasarım [slug] => web-tasarim [term_group] => 0 [term_taxonomy_id] => 164 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 18 [filter] => raw ) [22] => WP_Term Object ( [term_id] => 470 [name] => Yazılım dersleri [slug] => yazilim-dersleri [term_group] => 0 [term_taxonomy_id] => 470 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) )