Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
51 gösterim
#include<stdio.h>
#include<conio.h>

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ı?
C/C++ kategorisinde (131 puan) sordu

1 cevap

+1 oy

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.

(3.3k puan) cevapladı

İlgili sorular

0 oy
1 cevap 16 gösterim
16 gösterim 28 Mart C/C++ kategorisinde irem_U (108 puan) sordu
0 oy
1 cevap 22 gösterim
0 oy
1 cevap 71 gösterim
71 gösterim 12 Mart 2017 C/C++ kategorisinde yaren_tok (102 puan) sordu
0 oy
1 cevap 55 gösterim
55 gösterim 27 Ekim 2016 Genel Kavramlar kategorisinde kenan (3.3k puan) sordu
...