Δημοσιεύτηκε: 08 Σεπ 2011, 22:58
από Star_Light
migf1 έγραψε:Λοιπόν, ο i (που καλύτερα να τον μετονομάσεις σε p) είναι δηλωμένος σαν απλός δείκτης τον οποίον τον βάζεις να δείχνει στον πίνακά σου. Με το που κάνεις αυτή την ανάθεση ο i δείχνει σε έγκυρα περιεχόμενα μνήμης (δηλωμένα μέσω του x, που καλύτερα να το μετονομάσεις σε table).

Δες και τι εννοώ όταν μιλάω για λιτό, αραιωμένο κι ευανάγνωστο κώδικα...
Κώδικας: Επιλογή όλων

#include <stdio.h>

#define EMPTY_ELEMENT -1
#define MAX_ELEMENTS 10

// ----------------------------------------------
int main( void )
{
int table[ MAX_ELEMENTS ] = {1,2,3,4,5,6,7,8,9, EMPTY_ELEMENT};
int *p = table;

if ( !p ) {
puts("*** nothing to do, p is NULL");
return 0;
}

while ( *p != EMPTY_ELEMENT )
{
if ( *p % 2 == 0 ) // εξήγησε γιατί εξετάζεις για υπόλοιπο ίσο με 0 εδώ
printf("\n ...\n %d", *p);

else if ( *p % 2 == 1 ) // εξήγησε γιατί εξετάζεις για υπόλοιπο ίσο με 1 εδώ
printf("\n ...\n %d", *p);

p++;
}

return 0;
}

Είναι ακριβώς ο ίδιος κώδικας με αυτόν που έχεις γράψει στο spoiler του προηγούμενου post ;) ... με διορθωμένο τον έλεγχο για NULL. Πιστεύω η διαφορά σε readability είναι πολύ μεγάλη.


Ε προφανως

ε καμια σχεση ρε συ το ξερω αυτο που μου λες αλλα στα γρηγορα ειπα να φτιαξω το πρωι κατι που μου ηρθε εκεινη την ωρα στο μυαλο

να φανταστεις με φωναζε η μανα μου να παω να ψωνισω :lol: :lol: