Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Φεβ 2012, 12:16

Star_Light έγραψε:
...
lol ρε συ εγω δεν έχω τέτοια εμπειρία ακομη που μου λες οτι φτιάχνω αχρείαστα παραδείγματα!!!! ΠΟυ να μου κοβε να το κάνω αυτο
για αυτο παιδευόμουν παρολαυτα δεν ανησυχώ αν συνεχίσω να ασχολουμαι με C θα γινω δυναμίτης στο άμεσο μελλον........
ναι........ ε σε καμια 50αρια χρόνια δηλαδη αχαχαχαχαχαχαχα !

Δυστυχώς όσο συνεχίζεις με αυτή την τακτική (να ασχολείσαι δηλαδή αποσπασματικά κι άναρχα) δεν θα μάθεις ούτε σε 50 χρόνια :(
Αντίθετα, μεθοδικά με ένα καλό βιβλίο και με ασκήσεις/παραδείγματα που βγάζουν κάποιο νόημα, σε 2-3 μήνες θα μπορείς να γράφεις αρκετά αξιόλογα προγράμματα σε κονσόλα.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό evolgen » 09 Φεβ 2012, 12:32

Δεν ξέρω αν μετρά η άποψή μου, καθώς αναφέρεται σε Perl, αλλά για εμένα δούλεψε. Όταν ξεκίνησα να γράφω το πρόγραμμά μου, ήξερα πολύ λίγη Perl, τα βασικά. Αντίθετα, το τελικό project μου φαινόταν βουνό. Καθώς χρειαζόταν να κάνω διάφορα πράγματα, αναγκάστηκα να ψάχνω αυτό ήθελα να πετύχω και διάβαζα σχετικά tutorials. Κάπως έτσι βελτίωσα και τον τρόπο γραφής μου σιγά-σιγά και, χρησιμοποιώντας προγράμματα που οργάνωναν οπτικά τον κώδικα που έγραφα, είδα πώς είναι το επιθυμητό αποτέλεσμα.
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Φεβ 2012, 13:11

Κι αυτό είναι καλή τακτική, αλλά νομίζω είναι καλύτερα να δει πρώτα κανείς τα εργαλεία που του παρέχει η γλώσσας σε 1ο... σκαν, ώστε να μπορεί μετά να διαλέξει ποιο ή ποια θα χρησιμοποιήσει ανάλογα με τις ανάγκες του κάθε προτζεκτ. Στη C δεν είναι δύσκολο το 1ο σκαν, γιατί έχει πολύ λίγα keywords... είναι μικρή & λιτή γλώσσα.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 09 Φεβ 2012, 16:55

εγω δεν διαφωνώ με αυτά που λέει ο migf1
απλα συνεχιζω να πιστευω πως αμα κάποιος ειναι παντελώς ανίδεος
απο δείκτες θα πρέπει αρχικα να τον ξεκινήσεις με ένα αχρείαστο γενικα παράδειγμα του στυλ :

Κώδικας: Επιλογή όλων

#include<stdio.h>
int main()
{
int **p2 , a=2;
int *p;

p=&a;

p2=&p; // Should indicate to a pointer . Hence it takes
// the address of *p .

printf("%d", *p);

printf("\t%d", **p2);

printf("\n%p", p); //address of a

printf("\n%p", &a); // address of a

printf("\n%p", &p); // address of p pointer

p3=p; // Indicating to the same variable

printf("\n %d", *p3); // print a = 2

return 0;
}


έχω άδικο ?
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Φεβ 2012, 17:11

Star_Light έγραψε:
...
έχω άδικο ?

Αν εννοείς εσένα, δεν θα έπρεπε να είσαι ανίδεος από δείκτες, διότι μόνο μέσα σε αυτό το φόρουμ ασχολείσαι με αυτούς τουλάχιστον 2-3 μήνες. Αν είσαι όντως ανίδεος μετά από τόσους μήνες, οφείλεται αποκλειστικά και μόνο στο γεγονός ότι όλους αυτούς τους μήνες ασχολήθηκες με δείκτες άναρχα, αποσπασματικά, χωρίς υπόβαθρο και χωρίς δικά σου παραδείγματα/ασκήσεις που να αναδεικνύουν την χρησιμότητά τους σε πραγματικά προγράμματα.

Αν μιλάμε γενικά για κάποιον ανίδεο, τότε πρέπει να αποκτήσει υπόβαθρο πριν καν αρχίσει να ασχολείται μαζί τους. Το υπόβαθρο αποκτιέται με σύστημα, αφοσίωση και συγγραφή κώδικα με αρχή μέση και τέλος σε κάθε ξεχωριστή άσκηση :P
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Φεβ 2012, 17:15

Π.χ. δεν νοείται να ασχολείσαι με δείκτες αν δεν ξέρεις τι είναι και πως χρησιμοποιείται ένας στατικός πίνακας ή τι είναι και πως χρησιμοποιείται μια δομή ή τι είναι και πως χρησιμοποιείται ένα στατικό c-string.

Μόνη εξαίρεση στο παραπάνω είναι το pass by reference στα ορίσματα των συναρτήσεων, το οποίο αρχικά θα πρέπει να το μάθεις παπαγαλία και να το ξεκαθαρίσεις στο μυαλό σου πολύ αργότερα, όταν με το καλό φτάσεις να ασχοληθείς ολοκληρωμένα με δείκτες.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 09 Φεβ 2012, 17:19

Oχι δεν εννοω εμενα.... εννοω καποιον που ειναι ανίδεος και θελει σαν 1η γλώσσα του την C.
Ηθελα απλα να τους δω μεμονομένα σε ένα απλό παράδειγμα. Αυτο ειναι ολο. Πιστευεις οτι ακομη
και αυτο ειναι λαθος σαν μεμονομένη τεχνικη? Πριν πας σε ενα προγραμμα με αρχη μεση και τελος με δεικτες.
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 09 Φεβ 2012, 17:21

Star_Light έγραψε:
...
Πιστευεις οτι ακομη και αυτο ειναι λαθος σαν μεμονομένη τεχνικη? Πριν πας σε ενα προγραμμα με αρχη μεση και τελος με δεικτες.

Ναι, πιστεύω ότι είναι λάθος να ασχοληθεί κανείς με δείκτες όταν έχει βασικές ελλείψεις σε πράγματα που προηγούνται των δεικτών στην σειρά εκμάθησης της γλώσσας.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 09 Φεβ 2012, 17:45

@migf1 το παράδειγμα με τους δείκτες που σου έλεγα το αχρειαστο το δικο μου τελικα με βοήθησε πιστευω να καταλάβω
την διαφορά του να χρησιμοποιείς έναν διπλό δείκτη που πρωτα έχεις αρχικοποιήσει με την διεύθυνση ενος αλλου που δείχνει σε μια μεταβλητή
και μετα απλα τον περνάς στην συνάρτηση χωρις τον & τελεστή.
Απο έναν δείκτη που τον χρησιμοποιείς στη μια συνάρτηση σαν μονο και στην άλλη σαν διπλό χωρις να χρειάζεται να δηλώσεις δυο δείκτες στην main.
Και αρα στην κλήση της συνάρτησης έχεις πλέον μεσα στο όρισμα το &δείκτης ενω στην 1η που λέω εγω έχεις σκέτο δεικτης μιας και ειναι αρχικοποιημένος ηδη με εναν αλλον και αρα φέρει την διευθυνση του :)

τελοςπαντων... εν κατακλειδι παρολο που εχεις δικιο γενικότερα και πιο μακροπρόθεσμα εμενα βραχυπροθεσμα αυτα τα παραδειγματακια... και αυτα βασικα παρολο που σου φαινονται αχρηστα εμενα με βοηθησαν . ΤΩρα λες να νομιζω οτι με έχουν βοηθησει ενω στην ουσια μου έχουν κανει κακο?
ξερω γω? τετοια πλάνη? :D

Επισης έφτασα στο σημείο να ξεδιαλύνω κατι πολυ βασικο με τους δείκτες που λογω αυτου σε ζάλιζα καθε φορα.... initialization Vs assignment
πολυυυ βασικο για μενα πλεον !
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 09 Φεβ 2012, 18:02

Εκτος και αν μου πεις τωρα.... οτι ο τρόπος περάσματος μεσω αναφορας σε μια συνάρτηση με διπλό δείκτη σε πραγματικά προγράμματα ειναι παντα μονο ΕΝΑΣ!
Δεν ξερω δεν εχω δει και τους χιλιάδες κώδικες πια !!!
Γνώσεις ⇛ 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
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι