ΚΕΦΑΛΑΙΟ 11 - ΔΟΜΕΣ

...ασύγχρονα μαθήματα γλώσσας C

ΚΕΦΑΛΑΙΟ 11 - ΔΟΜΕΣ

Δημοσίευσηαπό linuxs » 15 Μαρ 2011, 23:45

ΚΕΦΑΛΑΙΟ 11 - Δομές

τι περιέχει αυτό το κεφάλαιο...
Τα structs δεν είναι τίποτα άλλο απο ένα σύνθετο τύπο δεδομένων. Θα ήταν χρήσιμο όταν έχουμε να αντιμετωπίσουμε ένα struct, να το σκεφτόμαστε σαν κουτιά το ένα μέσα στο άλλο. Γραφικά, είναι η αποθήκευση όλων των μεταβλητών που περιέχονται σε κάποιο ξεχωριστό χώρο ώστε να μπορούν να είναι προσβάσιμες οπουδήποτε. Η διαφορά με τον "κλασικό" τρόπο ορισμού των μεταβλητών είναι οτι με πολλές μεταβλητές που κάνουν την ίδια δουλειά χρησιμοποιώντας structs μπορούμε να εξικονομήσουμε χρόνο-χώρο και να κάνουμε ποιό κατανοητό και ευκολοδιάβαστο το πρόγραμμά μας.

Στο παρακάτω struct σκεφτείτε πως έχουμε ένα μεγάλο κουτί και μέσα του ένα πίνακα όπου θα βρίσκεται το όνομα(σε κάθε καλί ένας χαρακτήρας) και ένα άλλο κουτί για την ηλικία...
Εικόνα


Που τα υλοποοιούμε...
Tα structs συνήθως ορίζονται στην αρχή, μετά απο την δήλωση των βιβλιοθηκών και πρίν απο τις συναρτήσεις. Βέβαια, αυτό είναι εντελώς τυπικό. Στην ουσία μπορείτε να τα βάλετε όπου θέλετε εσείς.
Κώδικας: Επιλογή όλων
#include <library1>
#include <library2>
#define N 10

/* Συνήθως τα structs ορίζονται ακριβώς μετά */
struct Foo{
    char name[32];
    int age;
};

void function{...}

int main(void){...}


Πως τα υλοποοιούμε...
Ένα struct είναι απλά μια δομή που περιέχει μέσα του διάφορες μεταβλητές η και πίνακες. Κάθε struct έχει το δικό του όνομα(αυθαίρετο) και ένα τυπικό tag που θα το ξεχωρίζει απο τα υπόλοιπα μέσα στο πρόγραμμά μας. Παρακάτω μπορείτε να δείτε πως γράφετε σε γενική μορφή ένα struct! Προσέξτε οτι με τον παρακάτω κώδικα δεν είμαστε έτοιμοι να το χρησιμοποιήσουμε. Απλά το έχουμε φτιάξει και έχουμε ορίσει τα πεδία του αλλα δεν μπορούμε να το χρησιμοποιήσουμε ακόμη. Δείτε παρακάτω γιατί...
Κώδικας: Επιλογή όλων
struct <tag>{
    char name[32];
    int age;
    // and other variables...
}; /* Προσέξτε το ερωτηματικό */


Τελική δημιουργία των struct...
Στην ουσία όμως αυτό που είδατε παραπάνω είναι μόνο ο ορισμός, η αλλιώς "καθορισμός των μεταβλητών". Για να δημιουργηθεί ένα struct και να μπορεί κάθε στιγμή να είναι προσβάσιμο απο οπουδήποτε θα πρέπει να χρησιμοποιήσουμε άλλη μια γράμμη συνήθως κάτω απο την main( )...
Κώδικας: Επιλογή όλων
int main(void){
struct <tag> <name>;
}

με αυτόν τον τρόπο δημιουργούμε ένα struct που ονοομάζεται <name>! Το επόμενο βήμα είναι να δούμε πως μπορούμε να προσπελάσουμε τις τιμές του.

Ένας δεύτερος εναλακτικός τρόπος που μπορεί να γίνει αυτό είναι να μην βάλουμε τίποτα στην main και απλά όταν υλοποιούμε το stuct να του δώσουμε και ένα όνομα. Δείτε παρακάτω τι εννοώ...
Κώδικας: Επιλογή όλων
struct <tag>{
    char name[32];
    int age;
    // and other variables...
}new_name; /* Εδώ μπορούμε να δώσομε ένα όνομα αντί για αυτό που θα γράφαμε στην main */

Σε αυτό το σημείο θα κάνω μια παρένθεση για να σας δείξω σχηματικά πως μπορεί κάποιος να κάνει ένα struct. Αυτό γιατί, όταν υπάρχει και κάποιο σχήμα στο μυαλό μας η υλοποίηση γίνεται πιο εύκολα! ;)
Το παρακάτω struct έχει όνομα Data(case-sensitive) και έχει μέσα του ένα πινακάκι και δυο ακεραίους.
Κώδικας: Επιλογή όλων
struct Data{
    char name[81];
    int age;
    int AM;
};

σχηματικά θα μπορούσαμε να το αναπαριστήσουμε κάπως έτσι...
Εικόνα


Προσπέλαση των πεδίων...
Για να μπορέσουμε να χρησιμοποιήσουμε μια μεταβλητή που έχει οριστεί μέσα σε ένα struct χρησιμοποιούμε την 'τελεία' '.' . Δηλαδή βάζουμε το όνομα <name> του struct ακολουθούμενο απο μια τελεία και μια μεταβλητή που περιέχει το συγκεκριμένο struct...

Ας υποθέσουμε οτι υπάρχει το ακόλουθο struct,
Κώδικας: Επιλογή όλων
struct Data{
     int x;
}A;



για να δώσουμε μια αυθαίρετη τιμή θα πρέπει να κάνουμε το εξής:
Κώδικας: Επιλογή όλων
A.x = αυθαίρετη_τιμή;


δείτε ένα δεύτερο παράδειγμα παρακάτω, έχοντας άλλο ένα struct εκχωρουμε αρχικές τιμές...
Κώδικας: Επιλογή όλων
struct Foo{
    char name[32];
    int age;
}f;


η εκχώρηση τιμών γίνεται ως εξής:
Κώδικας: Επιλογή όλων
f.name="Alex";
f.age=14;



Structs & Συναρτήσεις...
Όταν στην άστκηση συμπεριλαμβάνονται και συναρτήσεις γίνεται λίγο ποιό πολύπλοκο το θέμα αλλά δεν το βάζουμε κάτω! Ένα struct περνά σαν παράμετρος σε μια άλλη συνάρτηση ως εξής...

Κώδικας: Επιλογή όλων
int function(struct <tag> <struct_name>){...}


και στην main() γράφεται το εξής:

Κώδικας: Επιλογή όλων
int main(void){
// commands...
function_name(<struct_name>);
}


για παράδειγμα,

Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>

struct Info{
   int age;
};

void init(struct Info info){
   char buf[81];
      gets(buf);
      puts(buf);
}

int main(void){
   struct Info info;
      init(info);

return 0;
}



Χρήση του typedef...
Κώδικας: Επιλογή όλων
typedef struct <tag>{
//variables;
}<struct_name>;



με την χρήση του typedef μπορούμε να παραλείψουμε την λέξη struct

έτσι, αντί να χρησιμοποιούμε συνεχώς την λέξη struct, struct, struct μέσα στο πρόγραμμά μας, μπορούμε με αυτό τον τρόπο να χρησιμοποιούμε το όνομα <struct_name> όπως φαίνεται και παραπάνω

Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h

typedef struct Foo{
    int buf[81];
    int age;
}f;

int fuction(f){
    f.age=32;
    return f.age;
}     

int main(void){
    int n;
    foo.age=12;
    printf("1: foo.age: %d\n", foo.age);
    n=fuction(foo);
    printf("2: foo.age: %d\n", n);
return 0;
}



Πέρασμα παραμέτρων μέσα απο struct...
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>

struct Foo{
    int x;
    int array[6];
};

void func(struct Foo *p_foo){
    p_foo->x = 56;
    p_foo->array[3]=55;
}

int main(void){
    struct Foo foo;
    foo.x=11;
    foo.array[6]=5;
    printf("foo.x: %d\nfoo.array[6]: %d\n", foo.x, foo.array[6]);
    func(&foo);
    printf("foo.x: %d\nfoo.array[6]: %d\n", foo.x, foo.array[6]);
// -> is short-hand for   (*foo).x=56
// & returns the address of a variable
// Note that -> is used to get to the fields of a pointer to a struct

return 0;
}



Struct μέσα σε πίνακα...

Είναι πιθανό μέσα σε κάποια άσκηση να συναντίσουμε κάποιο struct μέσα σε πίνακα. Τι σημαίνει αυτό? Έχοντας κάποιο πίνακα A, κάθε κελί του περιέχει ένα struct. Τώρα, το struct(που περιέχεται σε κάθε κελί του πίνακα) μπορεί να έχει πολλά μέσα αλλα δεν μας ενδιαφέρουν. Μπορεί να περιέχει 25.000 άλλους πίνακες και πολλές μεταβλητές. Δεν θα αναλύσω περισσότερο γιατί ότι και αν περιέχει είναι μια απο τα ίδια ;) Ας δούμε τώρα πως θα κάναμε κάτι τέτοιο...

Καταρχήν θα πρέπει να δημιουργήοσυμε ένα struct. Αυτό κάνουμε παρακάτω...
Κώδικας: Επιλογή όλων
struct Family{
   char father_name;
   char mother_name;
   int father_age;
   int mother_age;
};


στην main ο τύπος του πίνακα θα είναι, το struct που μόλις ορίσαμε...
Κώδικας: Επιλογή όλων
int main() {
   struct Family f;
   struct Family A[20];
...
return 0;
}


Ολοκληρωμένα μπορούμε να κάνουμε το παρακάτω παράδειγμα όπου τεστάραμε το πρόγραμμά μας μόνο στο πρώτο κελί.
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>

struct Family{
   char father_name;
   char mother_name;
   int father_age;
   int mother_age;
};


int main() {
   struct Family f;
   struct Family A[20];
      A[0].father_age = 52;
      printf("My father age is: %d\n", A[0].father_age);
return 0;
}



Παράδειγμα: Γράψτε ένα πρόγραμμα που θα ζητά δυο συντεταγμένες απο το χρήστη και θα τις εκτυπώνει μέσα στην main() κάνοντας χρήση των struct.

Ενδεικτική Λύση:

Κώδικας: Επιλογή όλων
#include <stdio.h>

struct Info(
    int x;
    int y;
};

int main(void){
    struct Info f;
        printf("Please type a number for the first coordinate:\n");
        scanf("%d", &f.x);
        printf("Please type a number for the first coordinate:\n");
        scanf("%d", &f.y);
        printf("The two coordinates (x, y) are: (%d, %d)\n", f.x, f.y);
       
return 0;
}


Καλή συνέχεια και ελπίζω να βοήθησα!
Τελευταία επεξεργασία από linuxs και 21 Ιουν 2011, 15:12, έχει επεξεργασθεί 6 φορά/ες συνολικά
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό Star_Light » 19 Μαρ 2011, 03:58

Πολυ καλο! :clap: :clap: :clap: :clap:
ΜΠραβο σου. Ευχαριστουμε. Θα μου επιτρεψεις ομως να επισημανω μια βασικη
ουσια μιας δομης. Το βασικο point το οποιο αθελα σου μπορει να ξεχασες. Η εστω δεν το
τονισες οπως θα ηθελες...

Περα απο την θεωρια ο απλος χρηστης - αρχαριος προγραμματιστης θα πρεπει να γνωριζει
πως δομες χρησιμοποιει στα προγραμματα του Οταν θελει να ενοποιησει διαφορετικους τυπους δεδομενων.
Μια δομη ενος μαθητη... μπορει να εχει για παραδειγμα 3 διαφορετικα πεδια... το ενα θα ειναι το ονομα του
το οποιο θα αποθηκευτει σε εναν char πινακα... μετα η ηλικια του ας πουμε... η οποια θα ειναι ενας ακεραιος αριθμος.
Και τελος το βαρος του... το οποιο μπορει να ειναι ειτε double ειτε float αν θελεις περισσοτερη ακριβεια στα δεκαδικα ψηφια!

Και παλι πολυ καλη η ιδεα σου για τα μαθηματα αυτα.... Φαινεται οτι αγαπας την C που ειναι μια πανισχυρη γλωσσα.
Καλη συνεχεια :D :clap:
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό linuxs » 19 Μαρ 2011, 16:38

Star_Light έγραψε:Πολυ καλο! :clap: :clap: :clap: :clap:
ΜΠραβο σου. Ευχαριστουμε. Θα μου επιτρεψεις ομως να επισημανω μια βασικη
ουσια μιας δομης. Το βασικο point το οποιο αθελα σου μπορει να ξεχασες. Η εστω δεν το
τονισες οπως θα ηθελες...

Περα απο την θεωρια ο απλος χρηστης - αρχαριος προγραμματιστης θα πρεπει να γνωριζει
πως δομες χρησιμοποιει στα προγραμματα του Οταν θελει να ενοποιησει διαφορετικους τυπους δεδομενων.
Μια δομη ενος μαθητη... μπορει να εχει για παραδειγμα 3 διαφορετικα πεδια... το ενα θα ειναι το ονομα του
το οποιο θα αποθηκευτει σε εναν char πινακα... μετα η ηλικια του ας πουμε... η οποια θα ειναι ενας ακεραιος αριθμος.
Και τελος το βαρος του... το οποιο μπορει να ειναι ειτε double ειτε float αν θελεις περισσοτερη ακριβεια στα δεκαδικα ψηφια!

Και παλι πολυ καλη η ιδεα σου για τα μαθηματα αυτα.... Φαινεται οτι αγαπας την C που ειναι μια πανισχυρη γλωσσα.
Καλη συνεχεια :D :clap:


Σε σε ευχαριστώ πολύ! :) Η αλήθεια είναι πως δεν έχει τελειώσει ο οδηγός! :) Θα προσθέσω κι άλλα για να τον κάνω όσο πιό λεπτομερή μπορώ.
Δεν μου αρέσει απλά η C...λατρεύω το επάγγελμά μου με αποτέλεσμα ότι έχει να κάνει με την Πληροφορική! :)
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό Star_Light » 20 Μαρ 2011, 00:49

linuxs έγραψε:
Star_Light έγραψε:Πολυ καλο! :clap: :clap: :clap: :clap:
ΜΠραβο σου. Ευχαριστουμε. Θα μου επιτρεψεις ομως να επισημανω μια βασικη
ουσια μιας δομης. Το βασικο point το οποιο αθελα σου μπορει να ξεχασες. Η εστω δεν το
τονισες οπως θα ηθελες...

Περα απο την θεωρια ο απλος χρηστης - αρχαριος προγραμματιστης θα πρεπει να γνωριζει
πως δομες χρησιμοποιει στα προγραμματα του Οταν θελει να ενοποιησει διαφορετικους τυπους δεδομενων.
Μια δομη ενος μαθητη... μπορει να εχει για παραδειγμα 3 διαφορετικα πεδια... το ενα θα ειναι το ονομα του
το οποιο θα αποθηκευτει σε εναν char πινακα... μετα η ηλικια του ας πουμε... η οποια θα ειναι ενας ακεραιος αριθμος.
Και τελος το βαρος του... το οποιο μπορει να ειναι ειτε double ειτε float αν θελεις περισσοτερη ακριβεια στα δεκαδικα ψηφια!

Και παλι πολυ καλη η ιδεα σου για τα μαθηματα αυτα.... Φαινεται οτι αγαπας την C που ειναι μια πανισχυρη γλωσσα.
Καλη συνεχεια :D :clap:


Σε σε ευχαριστώ πολύ! :) Η αλήθεια είναι πως δεν έχει τελειώσει ο οδηγός! :) Θα προσθέσω κι άλλα για να τον κάνω όσο πιό λεπτομερή μπορώ.
Δεν μου αρέσει απλά η C...λατρεύω το επάγγελμά μου με αποτέλεσμα ότι έχει να κάνει με την Πληροφορική! :)


Πολυ καλα.... αν θελεις συμμετεχω και εγω με καποιους πιο advanced κωδικες που εχω βρει στο ιντερνετ
ας πουμε υλοποιηση του CRC , απο ενα σημειο και μετα , εφοσον εχεις μαθει τα βασικα και θες να προχωρησεις
καλο ειναι να βλεπεις και πιο εξειδικευμενους κωδικες ωστε να αποκτας εμπειρια.....
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό linuxs » 20 Μαρ 2011, 01:04

Star_Light έγραψε:
linuxs έγραψε:
Star_Light έγραψε:Πολυ καλο! :clap: :clap: :clap: :clap:
ΜΠραβο σου. Ευχαριστουμε. Θα μου επιτρεψεις ομως να επισημανω μια βασικη
ουσια μιας δομης. Το βασικο point το οποιο αθελα σου μπορει να ξεχασες. Η εστω δεν το
τονισες οπως θα ηθελες...

Περα απο την θεωρια ο απλος χρηστης - αρχαριος προγραμματιστης θα πρεπει να γνωριζει
πως δομες χρησιμοποιει στα προγραμματα του Οταν θελει να ενοποιησει διαφορετικους τυπους δεδομενων.
Μια δομη ενος μαθητη... μπορει να εχει για παραδειγμα 3 διαφορετικα πεδια... το ενα θα ειναι το ονομα του
το οποιο θα αποθηκευτει σε εναν char πινακα... μετα η ηλικια του ας πουμε... η οποια θα ειναι ενας ακεραιος αριθμος.
Και τελος το βαρος του... το οποιο μπορει να ειναι ειτε double ειτε float αν θελεις περισσοτερη ακριβεια στα δεκαδικα ψηφια!

Και παλι πολυ καλη η ιδεα σου για τα μαθηματα αυτα.... Φαινεται οτι αγαπας την C που ειναι μια πανισχυρη γλωσσα.
Καλη συνεχεια :D :clap:


Σε σε ευχαριστώ πολύ! :) Η αλήθεια είναι πως δεν έχει τελειώσει ο οδηγός! :) Θα προσθέσω κι άλλα για να τον κάνω όσο πιό λεπτομερή μπορώ.
Δεν μου αρέσει απλά η C...λατρεύω το επάγγελμά μου με αποτέλεσμα ότι έχει να κάνει με την Πληροφορική! :)


Πολυ καλα.... αν θελεις συμμετεχω και εγω με καποιους πιο advanced κωδικες που εχω βρει στο ιντερνετ
ας πουμε υλοποιηση του CRC , απο ενα σημειο και μετα , εφοσον εχεις μαθει τα βασικα και θες να προχωρησεις
καλο ειναι να βλεπεις και πιο εξειδικευμενους κωδικες ωστε να αποκτας εμπειρια.....


Βεβαίως κάθε βοήθεια είναι δεκτή! ;) Ξέρεις...εγώ δεν έχω ιδέα απο αυτό που ανέφερες γιατί δεν πρόλαβα καλα καλά να αρχίσω με την C, άρχισα Haskell, μετά Prolog, μετά Assembly και τώρα πάλι C, αλλά πάνω στο Λειτουργικό Σύστημα Linux...με κλήσεις συστήματος κτλ. Τέσπα είναι μεγάλο ζόρι η σχολή μου... ;) αλλα μ' αρέσει ρε μαμώτο :P
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό Star_Light » 20 Μαρ 2011, 01:10

linuxs έγραψε:
Βεβαίως κάθε βοήθεια είναι δεκτή! ;) Ξέρεις...εγώ δεν έχω ιδέα απο αυτό που ανέφερες γιατί δεν πρόλαβα καλα καλά να αρχίσω με την C, άρχισα Haskell, μετά Prolog, μετά Assembly και τώρα πάλι C, αλλά πάνω στο Λειτουργικό Σύστημα Linux...με κλήσεις συστήματος κτλ. Τέσπα είναι μεγάλο ζόρι η σχολή μου... ;) αλλα μ' αρέσει ρε μαμώτο :P


Σε ποια σχολη εισαι ?
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό linuxs » 20 Μαρ 2011, 01:13

Star_Light έγραψε:
linuxs έγραψε:
Βεβαίως κάθε βοήθεια είναι δεκτή! ;) Ξέρεις...εγώ δεν έχω ιδέα απο αυτό που ανέφερες γιατί δεν πρόλαβα καλα καλά να αρχίσω με την C, άρχισα Haskell, μετά Prolog, μετά Assembly και τώρα πάλι C, αλλά πάνω στο Λειτουργικό Σύστημα Linux...με κλήσεις συστήματος κτλ. Τέσπα είναι μεγάλο ζόρι η σχολή μου... ;) αλλα μ' αρέσει ρε μαμώτο :P


Σε ποια σχολη εισαι ?

http://cs.uoi.gr/
και συγκεκριμένα είμαι εδώ: http://cs.uoi.gr/index.php?menu=m42 στο λινκ που δεν δουλεύει και πρόσφατα το κάναμε http://forum.cs.uoi.gr
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό Star_Light » 20 Μαρ 2011, 01:18

linuxs έγραψε:
Star_Light έγραψε:
linuxs έγραψε:
Βεβαίως κάθε βοήθεια είναι δεκτή! ;) Ξέρεις...εγώ δεν έχω ιδέα απο αυτό που ανέφερες γιατί δεν πρόλαβα καλα καλά να αρχίσω με την C, άρχισα Haskell, μετά Prolog, μετά Assembly και τώρα πάλι C, αλλά πάνω στο Λειτουργικό Σύστημα Linux...με κλήσεις συστήματος κτλ. Τέσπα είναι μεγάλο ζόρι η σχολή μου... ;) αλλα μ' αρέσει ρε μαμώτο :P


Σε ποια σχολη εισαι ?

http://cs.uoi.gr/
και συγκεκριμένα είμαι εδώ: http://cs.uoi.gr/index.php?menu=m42 στο λινκ που δεν δουλεύει και πρόσφατα το κάναμε http://forum.cs.uoi.gr


:clap: :clap: :clap: :clap: :clap:

ωραιος. ΑΝτε καλα ξεμπερδεματα! :D
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Κεφάλαιο - Structs

Δημοσίευσηαπό linuxs » 20 Μαρ 2011, 01:19

Star_Light έγραψε:ωραιος. ΑΝτε καλα ξεμπερδεματα! :D


ευχαριστώ... ;)
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 11 - ΔΟΜΕΣ

Δημοσίευσηαπό alkismavridis » 02 Φεβ 2013, 21:04

Κάπου στην αρχή λές "Εικόνα". Μάλλον σκεφτόσουν να βάλεις κάποια εικόνα εκεί αλλά το ξέχασες :-)

Επίσης αντί για [*code] μπορείς να χρησιμοποιείς το [*z_code] όταν πρόκειται για προγραμματισμό. Κάνει αυτόματα ανίχνευση γλώσσας και δίνει χρώματα :-)
Γνώσεις ⇛ Linux: Μέτριο┃ Προγραμματισμός: Java, Assembly, Fortran, μαθαίνω C/X11┃ Αγγλικά: Μέτρια
Λειτουργικό σε Η/Υ ϰ μοντέλο: Ubuntu 14.04 64-bit ┃ Τρόπος εγκατάστασης: Live USB
Προδιαγραφές ⇛ Desktop: Intel i5 2320 3.00GHz.┃ MotherBoard: Asus p8h61 -m pro
Προδιαγραφές ⇛ RAM: 4GB ┃ Τροφοδοτικό Corsair CX430

GPU: Intel 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] {i915}
5 eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06) ⋮ wlan0: 0b05:1723 ASUS WL-167G v2 802.11g Adapter [Ralink RT2571W]
Οθόνη Schaub Lorenz (Tv)
alkismavridis
punkTUX
punkTUX
 
Δημοσιεύσεις: 273
Εγγραφή: 18 Μαρ 2009, 18:46
Εκτύπωση


Επιστροφή στο Μαθήματα C