SORU
30 EYLÜL 2013, PAZARTESİ


İki işaretçiler adresleri aynı

#include<stdio.h>
#include<string.h>

int main()
{
  char * p = "abc";
  char * p1 = "abc";
  printf("%d %d", p, p1);
}

İki işaretçiler değerleri yazdırırken, aynı adrese baskı. Neden?

CEVAP
30 EYLÜL 2013, PAZARTESİ


İster aynı içeriğe sahip iki farklı dize hazır aynı bellekte yer alır ya da farklı bellek konumlarını uygulaması bağımlıdır.

Hep onlar gibi iki farklı işaretçiler aynı içeriğe sahip olmalarına rağmen () p p1 tedavi gerekir veya aynı adresi işaret edebilir. Derleyici en iyi duruma getirmeleri güvenmemelisiniz.

, 6.4.5, C11 Standart Dize hazır bilgi, sematics

Bu dizi onların farklı olduğunu temin edip belirtilmemiş elemanları uygun değerleri var. Eğer program çalışırsa böyle bir dizi değişiklik, davranış tanımsızdır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • iNCH

    iNCH

    20 Temmuz 2009
  • tinycammonitor

    tinycammonit

    14 Aralık 2010