Δημοσιεύτηκε: 03 Ιούλ 2011, 22:03
από migf1
linuxs έγραψε:
migf1 έγραψε:
long oddsum = 0;
register int i;
}

ώρα για συζήτηση... :) γιατί χρησιμοποίησες long και register(πρώτη φορά το βλέπω) ? :/

long έβαλα για να μπορεί να βγάζει και τεράστια αθροίσματα, π.χ. αν στο κώδικα το MAX οριστεί σε τίποτα... εκατομμύρια :lol:

To register είναι depreciated βασικά στο σύγχρονο hardware. Το βάζαμε όταν θέλαμε η μεταβλητή αντί να δημιουργηθεί στη μνήμη να πάει σε έναν από τους καταχωρητές του υπολογιστή (registers) ώστε να καλείται πολύ πιο γρήγορα. Ήταν στάνταρ πρακτική για μεταβλητές-μετρητές σε loops. Το μείον είναι πως δεν μπορείς να πάρεις τη διεύθυνση μνήμης αυτών των μεταβλητών, δλδ το: &i παράγει σφάλμα στο compiling.

Οι σύγχρονοι compilers και τις register μεταβλητές στην RAM τις δημιουργούν.