Forum

C99 yeni özell...
 
Bildirimler
Hepsini Temizle

C99 yeni özellik

2 Yazılar
2 Üyeler
0 Likes
336 Görüntüleme
(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
Konu başlatıcı
 

C99 ile gelen yeni bir özelliği paylaşmak istedim:

  1. #include <stdio.h>
  2.  
  3. struct test
  4. {
  5. char name[20];
  6. int no;
  7. };

  8. static struct test a={
  9. .name="xyzt",
  10. .no=10
  11. };
  12. int main()
  13. {
  14. printf("\n%s %d",a.name,a.no);
  15. return 0;
  16. }

 

burada 10. ve 11. satırlara dikkat ederseniz, test structure'ının ilklendirilmesi eleman sırasına bağlı değil, elemanın ismine bağlı. yani ilklendireceğimiz structure'ın elemanlarının sırasını hatırlamamız gerekmiyor...gerçi şimdi de elemanların isimlerini hatırlamamız gerekiyor 🙂

ama burada güzel olan bir nokta daha var:

diyelim ki sadece tek bir elemana değer vermek istiyoruz, o zaman şu şekilde kullanabiliriz, no otomatikman ilkendirilmiş olacaktır.

  • static struct test a={
  • .name="xyzt"
  • };
  •  

     
    Gönderildi : 31/07/2009 03:34

    (@rahmidilli)
    Gönderiler: 2458
    Famed Member
     

    C99 ile gelen yeni bir özelliği paylaşmak istedim:

    1. #include <stdio.h>
    2.  
    3. struct test
    4. {
    5. char name[20];
    6. int no;
    7. };

    8. static struct test a={
    9. .name="xyzt",
    10. .no=10
    11. };
    12. int main()
    13. {
    14. printf("\n%s %d",a.name,a.no);
    15. return 0;
    16. }

     

    burada 10. ve 11. satırlara dikkat ederseniz, test structure'ının ilklendirilmesi eleman sırasına bağlı değil, elemanın ismine bağlı. yani ilklendireceğimiz structure'ın elemanlarının sırasını hatırlamamız gerekmiyor...gerçi şimdi de elemanların isimlerini hatırlamamız gerekiyor 🙂

    ama burada güzel olan bir nokta daha var:

    diyelim ki sadece tek bir elemana değer vermek istiyoruz, o zaman şu şekilde kullanabiliriz, no otomatikman ilkendirilmiş olacaktır.

  • static struct test a={
  • .name="xyzt"
  • };
  •  

    Paylaşım için teşekkürler.

     
    Gönderildi : 31/07/2009 04:06

    Paylaş: