#include
#include
int main()
{
char *sehir=”osmaniye”;
int i=0;
while(sehir[i]!=’\0′)
{printf(“%c-%p\n”,*(sehir+i),(sehir+i));
i++;}
getch();
}
Arkadaşlar neden *sehir[] şeklinde tanımlamadık sonuçta osmaniye bir dizi ? anlatabilecek var mı?
işaretçi ile dizi prensipte aynı şey.
int *dizi ile int [] dizi direk olarak aynı işe yarar tek farkı [] işaretlerini kullandığın zaman içine bir değer vererek dizinin büyüklüğünü ayarlayabilirsin. İşaretçi (pointer) kullanarak daha sonradan malloc/calloc ile yer ayırman gekerekir. Ayırdıktan sonra [] işaretlerini kullanarak elemanlara yine erişebilirsin.
Hem pointer işareti (*) hem köşeli parantez ([]) kullanarak tanımlama yapılmıyor. Muhtemel segmentation fault veya windows cevap vermiyor hatasına gebe bir kod parçası olur.
İyi çalışmalar.