[]

Null ve 0
a[10][10]={NULL} diyerek bir array oluşturdum. bunun içine sonradan içinde sıfırın da bulunduğu sayılar yerleştirildi. amacım a[i][j]=NULL ise bir şey yaptırmaktı fakat NULL'un sıfıra eşit olması bunu yaptırmamı engelliyor. Yani NULL ve sıfır her şeyiyle aynı şeye mi denk düşüyor yoksa bu ikisini ayırmamı sağlayacak bir şeyler var mı?

hangi dil bu?
- winston insani
(26.05.13 16:55:08)

c++
- trinitrotoluen
(26.05.13 16:56:11 ~ 18:03:23)

dediğim gibi en başta bir a[10][10]={NULL} şeklinde bir array oluşturdum. Array'in içine arrayi tam olarak doldurmayacak şekilde, içinde sıfır da bulunan bir takım sayılar attım.
1 2 3 0 5 4 6 NULL NULL..
1 4 5 2 6 0 3 4 5 NULL ....
.
.
gibi. eğer arrayde NULL ile karşılaşırsan "hede yap" demek istiyorum ama NULL yerine sıfıra gelince de aynı şeyi yapıyor. ikisi aynı şeyler değil ama compile r aynı gibi algılıyor. Basit bir kod örneği vermem gerekirse;
for(int i=0; i<10;i++){
for(int j=0;j<10;j++){
if(a[i][j]!=NULL)
cout<<a[i][j]<<" ";
};
};
NULL değilse yazdır diyorum mesela burda; ama sıfırı da NULL gibi algılayıp sıfırı atlıyor.
1 2 3 0 5 4 6 NULL NULL..
1 4 5 2 6 0 3 4 5 NULL ....
.
.
gibi. eğer arrayde NULL ile karşılaşırsan "hede yap" demek istiyorum ama NULL yerine sıfıra gelince de aynı şeyi yapıyor. ikisi aynı şeyler değil ama compile r aynı gibi algılıyor. Basit bir kod örneği vermem gerekirse;
for(int i=0; i<10;i++){
for(int j=0;j<10;j++){
if(a[i][j]!=NULL)
cout<<a[i][j]<<" ";
};
};
NULL değilse yazdır diyorum mesela burda; ama sıfırı da NULL gibi algılayıp sıfırı atlıyor.
- trinitrotoluen
(26.05.13 17:01:06 ~ 17:05:58)

Çok iyi C++ bilmiyorum ama bir workaround verebilirim. Öncelikle bir adet değişken oluştur
int zero = 0;
gibi. Sonra da NULL test ettiğin yerde NULLsa ama zero değilse gibi bir if statement'ı yaz. Çare olacaktır diye düşünüyorum.
int zero = 0;
gibi. Sonra da NULL test ettiğin yerde NULLsa ama zero değilse gibi bir if statement'ı yaz. Çare olacaktır diye düşünüyorum.
- gzg
(26.05.13 17:09:07)
1