Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
567
Tıklama
0
Öne Çıkarma
C genel veri tipi tanımlama
O
9 yıl
Er
Konu Sahibi

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



F
9 yıl
Yüzbaşı

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


Bu mesaja 1 cevap geldi.
O
9 yıl
Er
Konu Sahibi

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?



L
9 yıl
Yüzbaşı

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ı >
Bu mesaja 1 cevap geldi.
O
9 yıl
Er
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
F
9 yıl
Yüzbaşı

 
#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?


Bu mesaja 1 cevap geldi.
O
9 yıl
Er
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
L
9 yıl
Yüzbaşı

argv nerde ??(mainden gelenmi)



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


Bu mesajda bahsedilenler: @Ogbat
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.