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

  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010