SORU
6 Temmuz 2009, PAZARTESİ


Nasıl C dize dizisi oluşturulur?

Eğer bu kodu kullanırsam C. dizeleri bir dizi oluşturmak için çalışıyorum:

char (*a[2])[14];
a[0]="blah";
a[1]="hmm";

gcc bana "uyarı: uyumsuz gösterici türünde atama" verir. Bunu yapmak için doğru yolu nedir?

edit: bu ise, basit bir beşgen kullanmaktır yaparsam derleyici bir uyarı beri vermeli neden merak ediyorum ([1]); doğru yazdırır "". hmm

CEVAP
6 Temmuz 2009, PAZARTESİ


Eğer dizeleri değiştirmek istiyorsanız Eğer doğru değilse, o zaman sadece sen yapabilirsin

const char *a[2];
a[0] = "blah";
a[1] = "hmm";

Böyle yaptığın zaman 5* *iki işaretçiler bir dizi tahsis edecek. Bu göstericiler daha sonra statik dizeleri "blah" "hmm" adresleri ayarlanır.

Eğer gerçek bir dize içeriğini değiştirebilmesini istiyorsanız, gibi bir şey yapmak zorundasın

char a[2][14];
strcpy(a[0], "blah");
strcpy(a[1], "hmm");

Bu tarihten sonra statik dizeleri içeriğini içine kopyalanacaktır 14 chars her iki ardışık diziler tahsis edecek.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • MkElite

    MkElite

    13 NİSAN 2012
  • SRI International

    SRI Internat

    30 NİSAN 2008