Şimdi Ara

C genel veri tipi tanımlama

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
607
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • main bloğunun üstünde tanımlanan bir diziye main içinde değer atamak mümkün mü? bilen arkadaşlar yardımcı olursa sevinirim



  • Evet, global olarak geçiyor bahsettiğin değişkenler
  • quote:

    Orijinalden alıntı: Fatih513

    Evet, global olarak geçiyor bahsettiğin değişkenler

    peki nasıl değer atıyoruz o global dizilere?
  • burada soracağına deneseydin sonuçları görürdün neyse:

    fonksiyon prototipinden önce tanımlanmış bir global değişken o fonksiyondan erişilebilr yani:

    int nGlobal;
    void fonkA();

    yukarda fonkA fonkA fonksiyonunda nGlobal'e erişebilrsin ama:

    void fonkB();
    int nGlobal;

    burda fonkB içinde nGlobal'e ulaşamassın çünkü fonkB ondan önce oluşturulmuş.

    Birde

    // bu ayrı bir bellek bölümünde tutulur stack veya heap'te değilde ilk değer atanmamış global değişken bölümünde tutulur diyebilriz
    int nGlobal;

    // bu da ayrı bir yerde tutulur: ilk değer atanmış global değişken bölümü
    int nGlobal = 1;

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: lavara123

    burada soracağına deneseydin sonuçları görürdün neyse:

    fonksiyon prototipinden önce tanımlanmış bir global değişken o fonksiyondan erişilebilr yani:

    int nGlobal;
    void fonkA();

    yukarda fonkA fonkA fonksiyonunda nGlobal'e erişebilrsin ama:

    void fonkB();
    int nGlobal;

    burda fonkB içinde nGlobal'e ulaşamassın çünkü fonkB ondan önce oluşturulmuş.

    Birde

    // bu ayrı bir bellek bölümünde tutulur stack veya heap'te değilde ilk değer atanmamış global değişken bölümünde tutulur diyebilriz
    int nGlobal;

    // bu da ayrı bir yerde tutulur: ilk değer atanmış global değişken bölümü
    int nGlobal = 1;

    değerlere erişebiliyorum orda sorun yok ama değiştiremiyorum,

    şöyleki benim yapmak istediğim şey main bloğu üstünde tanımlı bir dizim var, bi for döngüsüyle main içinde tanımlanmış dizimi global diziye kopyalamak istiyorum, for döngüsüyle denedim bunu, döngüye giriyo dünüyo ama değer atamadan geçiyo direk




  •  
    #include <stdio.h>
    int global[100];

    int main()
    {
    int local[100], i;
    for (i = 0; i < 100; ++i)
    local[i] = 100 - i;

    for (i = 0; i < 100; ++i)
    global[i] = local[i];

    for (i = 0; i < 100; ++i)
    printf("%d\n", global[i]);

    return 0;
    }


    Bu işe yaramıyor mu?
  • quote:

    Orijinalden alıntı: Fatih513

     
    #include <stdio.h>
    int global[100];

    int main()
    {
    int local[100], i;
    for (i = 0; i < 100; ++i)
    local[i] = 100 - i;

    for (i = 0; i < 100; ++i)
    global[i] = local[i];

    for (i = 0; i < 100; ++i)
    printf("%d\n", global[i]);

    return 0;
    }


    Bu işe yaramıyor mu?

    int array[20][20];

    int main()
    {
    int ar = 3;
    for (int i = 0; i < satir_sayisi; i++)
    {
    for (int j = 0; j < sutun_sayisi; j++)
    {
    array[j] = atoi(argv[ar]);
    ar++;
    }
    }
    }


    sizin gönderdiğiniz kod çalışıyo, o zaman benim yaptığım işlemde mi bi sıkıntı var?
    argv[] char dizisiydi o yüzden atoi kullandım
    satir_sayisi = 4
    sutun_sayisi = 3




  • Ogbat kullanıcısına yanıt
    argv nerde ??(mainden gelenmi)

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.