Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => C/C++ => Konuyu başlatan: tekosis - 12 Şubat 2018, 15:03:02

Başlık: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: tekosis - 12 Şubat 2018, 15:03:02
Her for döngüsü için bir yerel yada gloabal değişken kullanmak program uzadıkça zahmetli ve riskli oluyor. Başka yerde kullandığım bir değişkeni fark etmeden yeni yazdığım döngüde de kullanabiliyorum. Bu zamanla takibi zahmetli ve zor hale geliyor. Aşağıdaki tanımlamayı java kabul ediyor ama kullandığım derleyici olan mikroc pro for arm'de yaptığımda kabul etmedi. Buna benzer bir yöntem için ne tavsiye edersiniz?
Yapmayı istediğim şey;

for( int i =0 ; i<100 ; i++)
{
~~~~~
~~~~
    ~~~~~~
}


Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: controller - 12 Şubat 2018, 15:19:53
Mikroc C89 standardını destekliyor sanırım. for içinde değişken tanımlamak için en az C99 veya C++ olması lazım.
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: dumansiz - 12 Şubat 2018, 17:58:12
"MikroC Pro for PIC" de kabul etmiyor.
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: Tagli - 12 Şubat 2018, 22:41:34
Belki derleyici ayarlarından C99 standartını seçmek mümkün olabilir. Bir araştırmak lazım.
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: OptimusPrime - 13 Şubat 2018, 00:09:14

{
int i;

for(i =0 ; i<100 ; i++){~~~~~~~~~    ~~~~~~}
}



hayirli olsun. :)
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: mir_as82 - 13 Şubat 2018, 12:55:13
Güzel çözüm optimus : )). Scope tan çıkınca zaten olmayacak
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: tekosis - 01 Mart 2018, 11:14:21
Teşekkür ederim @OptimusPrime çok iyi oldu.
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: ogy - 01 Mart 2018, 11:27:05
İki farklı fonksiyonun içerisinde aynı isimle tanımlanmış yerel değişkenler birbirleriyle çakışır mı?
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: Tagli - 01 Mart 2018, 13:16:29
Hayır, çakışmazlar. Scope'ları farklıdır çünkü. Ancak aynı isimle bir üst scope'ta tanımlanmış bir değişken var ise eğer onu bastırırlar.
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: tekosis - 01 Mart 2018, 13:33:51
int i;
void main() {
       i=5;
       {
           int i;
            for( i=100;i<105;i++)
             {
                          }
                                         }
            i++;
            while(1){}
}



hocam yukarıdaki şekilde hem global hem de scop içinde tanımlanmış i değişkeni var. for döngüsü bitip scop içinden çıkınca i değişkeni i++; kodundan sonra 106 değerini alıyor. yani scop içinde tanımlama mümkün ama daha önce tanımlanmış aynı isimde bir değişken var ise onun değerini değiştiriyor. debugger den bakınca iki "i" değişkeni de aynı bellek adresinde tanımlanıyor.

Şimdi dikkatli okudum @Tagli hocam da aynı şeyi demiş zaten.
Başlık: Ynt: C++ for içinde değişken tanımlama mümkün mü?
Gönderen: ogy - 01 Mart 2018, 14:53:06
@Tagli @tekosis hocam teşekkürler.