Evet, uzun süredir C/C++ programlama ile uğraşır dururum, C dilinde case'in böyle kullanımını ilk defa gördüm.
switch( state ){
case 0 ... 15: // 0 ... 15
val = state;
break;
case 16 ... 31: // 16 ... 31
val = DIMM_STEPS-1;
break;
case 32 ... 47: // 32 ... 47
val = DIMM_STEPS*3-1-state;
break;
default:
val = 0;
}
Varmış böyle bir şey. Hala şoktayım :)
http://docs.oracle.com/cd/E19205-01/820-7598/giphi/index.html (http://docs.oracle.com/cd/E19205-01/820-7598/giphi/index.html)
http://stackoverflow.com/questions/5327896/how-to-use-ellipsis-in-cs-case-statement (http://stackoverflow.com/questions/5327896/how-to-use-ellipsis-in-cs-case-statement)
güzelmiş
Hocam Keil derlemiyor bunu C99 standardında yok.
Hocam hem kod güzel hem senin başlık güzel:). Konyalısınız galiba.
gcc'nin özel bir eklentisi imiş. Standarta dahil değil.
Bir an aldığım/okuduğum derslerden şüphe etmiştim.
Hocam o zaman o şekilde kod yazmak sıkıntılı. Taşınabilirliği azaltıyor.
Evet verdiğim stackoverflow linkinde de bahsetmiş birisi bundan,
"non-standard extension of gcc" demiş. c99'da bunu bulamazsınız demiş. Zaten kod örneğini avr-gcc için yazılmış bir uygulamadan almıştım.
Not: Konyalı değilim.
ben şöyle yapıyordum;
case 0:
case 1:
case 2:
// 3 durumdada olması istenen şeyler
break;
Hızla alakalı bir avantajı var galiba...