Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
1174
Tıklama
0
Öne Çıkarma
C dilinde hafıza
T
9 yıl
Çavuş
Konu Sahibi

C dilinde şöyle bir kod yazdığımız zaman;

int main()
{
char str[5]={'a','b','c'};
int i;

for(i=0; i<5; i++)
{
printf("%d\n",&str);
}

}


hafızadaki adresleri
6487616
6487617
6487618
6487619
6487620
şeklinde çıktı veriyor.Neden bu adresler 7bitlik ?
Ayrıca 5 elemanlık diziye 3 eleman girdiğim halde son 2 elemanda da bir baytlık ilerlemeler olmuş o halde onlar da hücrelerde char tipi için mi ayrılmış ?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



F
9 yıl
Yüzbaşı

printf("%d\n",&str);

değildir o
printf("%d\n",&str[i]);

olabilir.

7 bit diye bişi olmaz, 7 karakter görüyon diye nasıl 7 bit oluyor, bit nedir byte nedir iyi öğren, o gördüklerin hextir muhtemelen.





< Bu mesaj bu kişi tarafından değiştirildi Freakk -- 15 Ekim 2016; 13:23:25 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @turkiye01
T
9 yıl
Çavuş
Konu Sahibi

haklısın hex olma ihtimali aklıma gelmedi
yüksek ihtimal hex belirtiyordur zaten.Ama atamadığım diğer 2 eleman için hafızada boş yermi tutuluyor?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Freakk
Y
9 yıl
Teğmen

Atama yapmasan da programda 5 karakterlik bir dizi almak istediğini belirtmişsin. Sen henüz o kısımları doldurmasan da junk bir değer ile dolmuş şekilde yer alınır.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.