30 Aralık 2008, Salı
C "dosyalarda grup" döngü yapısı var mı?
Hemen hemen tüm dilleri foreach
döngü (fonksiyon) ya da benzer bir şey var. Eğer C biri var mı merak ediyorum? Bazı örnek kod gönderebilir misiniz?
CEVAP
30 Aralık 2008, Salı
C dosyalarda grup yok, ama makrolar sık taklit etmek için kullanılır:
#define for_each_item(item, list) \
for(T * item = list->head; item != NULL; item = item->next)
Ve gibi kullanılabilir
for_each_item(i, processes) {
i->wakeup();
}
Bir dizi üzerinde yineleme yapmak da mümkün:
#define foreach(item, array) \
for(int keep = 1, \
count = 0,\
size = sizeof (array) / sizeof *(array); \
keep && count != size; \
keep = !keep, count ) \
for(item = (array) count; keep; keep = !keep)
Ve gibi kullanılabilir
int values[] = { 1, 2, 3 };
foreach(int *v, values) {
printf("value: %d\n", *v);
}
Edit: C çözüm olarak ilgilendi, C yerlisi olduğu için-her "tabanlı range" . sözdizimi
Bunu Paylaş:
Knockout.js containerless "dosyal...
Paralel.Dosyalarda grup neden bir &quo...
Nasıl "Varolan Madde" Ekleyin...
&Quot; ... " Ruby döngü var mı?...
.Döngü daha hızlı çalışır NET,' v...