noimage

İçeriği Paylaş:

İşaretçi Aritmetiği

1.3 İşaretçi Aritmetiğiİşaretçiler kullanılırken, bazen işaretçinin gösterdiği adres taban alınıp, o adresten önceki veya sonraki adreslere erişilmesi istenebilir. Bu durum, işaretçiler üzerinde, aritmetik işlemcilerin kullanılmasını gerektirir. İşaretçiler üzerinde yalnızca toplama (+), çıkarma (‐), bir arttırma (++) ve bir eksiltme (‐‐) operatörleri işlemleri yapılabilir.Aşağıdaki örnek bu bölümde anlatılanları özetlemektedir. İnceleyiniz.Örnek:#include “stdio.h”#include “conio.h” void main(){int *ptam,tam2, tam1=33;ptam=&tam1;printf(“tam1 degiskeninin degeri= %d”,tam1);printf(“tam1 degiskeninin adresi= %p”,&tam1);printf(“#####################################################”);printf(“ptam degiskeninin isaretcisinin tuttugu adres= %p”,ptam);printf(“ptam isaretcisinin yonlendirdigi adresteki deger= %d”,*ptam);printf(“#####################################################”);tam2=*ptam;printf(“tam2 degiskeninin degeri= %d”,tam2);printf(“tam2 degiskeninin adresi= %p”,&tam2);printf(“tam2 degiskeninin adresi= %p”,ptam+1);getch();}1.4 İşaretçi ve Diziler Arasındaki İlişkiC dilinde işaretçiler ve diziler arasında yakın bir ilişki vardır. Bir dizinin adı, dizinin ilk elemanının adresini saklayan bir işaretçidir. Bu yüzden, bir dizinin herhangi bir elemanına işaretçi ile de erişilebilir. (Önceki örnekte de gösterildiği gibi.)Örneğin:int *ptam, tam[5]={1, 2, 3, 4, 5}; ptam=&tam[0];şeklinde bir bildirim yapılsın. Buna göre aşağıda yapılan atama geçerlidir:ptam=&tam[0];/* Dizinin birinci elemanının adresi ptam işaretisine atandı*/

Örnek: 

#include “stdio.h”#include “conio.h” void main(){int *ptam, tam[5]= {1,2,3,4,5}; ptam=&tam[0];for (int i=0; i<5; i++){printf(“%d. elemanin adresi= %p\t”,i+1,ptam+i); printf(“icerik=%d”,*(ptam+i));}getch();}

İçeriği Paylaş:
İlginizi Çekebilir
Yorum Yapılmamış

Henüz Hiç Yorum Yapılmadı..

Yorum Yaz

İşaretçi Aritmetiği

Programlama 2

24/07/2016 | Yorum Yok | 32 | kucukakarsu