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

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

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

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

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

Ναι σωστα δεν παιζει overloading στην C πχ δεν μπορεις να έχεις 2 συναρτήσεις με διαφορετικές μεν παραμέτρους αλλα με το ιδιο identifier (ονομα συνάρτησης).
Γνώσεις ⇛ 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

Δημοσίευσηαπό Ilias95 » 28 Φεβ 2012, 22:19

Ωχ, αυτό θα είναι πρόβλημα σε μεγάλα προγράμματα. :(
migf1 έγραψε:Δεν είναι oop η C, οπότε δεν έχει κλάσεις και μεθόδους ώστε να φαίνεται που αντιστοιχεί η κάθε μέθοδος. Επίσης η κάθε συνάρτηση (μέθοδος δηλαδή)

Πάντως δεν είναι αναγκαστικό η κάθε συνάρτηση να είναι μέθοδος (=συνάρτηση μέσα σε κλάση).
Εκτός αν δεν ξέρω σωστά πως ακριβώς δουλεύει το σύστημα με τα imports στην python.

Anyway, πάμε με τα σχόλια όπως είπες και ο θεός βοηθός... :P
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

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

migf1 έγραψε:
Εγώ ακόμα δεν έχω καταλάβει ποιο είναι ακριβώς το πρόβλημα που σε ζορίζει... για πες.


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

btw θα προσεξω να μην κάνω ερωτήσεις τις οποιες ηδη εχετε απαντησει γιατι καταλαβαινω απο μεριας μου
πως οκ βοηθατε αλλα ειναι και λιγο κουραστικο και σπαστικο ;)
Τελευταία επεξεργασία από Star_Light και 28 Φεβ 2012, 22:20, έχει επεξεργασθεί 1 φορά/ες συνολικά
Γνώσεις ⇛ 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

Δημοσίευσηαπό migf1 » 28 Φεβ 2012, 22:19

Α επίσης Ηλία, με κάποιες εξαιρέσεις, οι συναρτήσεις της ίδιας βιβλιοθήκης συνήθως ξεκινάνε με ίδια γράμματα... π.χ. οι περισσότερες της <string.h> ξεκινάνε με "str" τα ονόματά τους (αλλά υπάρχουν αρκετές εξαιρέσεις σε αυτόν τον κανόνα). Πάντως το στάνταρ "απαγορεύει" να γράφεις δικές σου συναρτήσεις που ξεκινάνε με "str", "mem" ή με "_" και μερικά ακόμα που δεν θυμάμαι... θεωρούνται reserved για μελλοντικές αναθεωρήσεις της γλώσσας.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

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

Δημοσίευσηαπό migf1 » 28 Φεβ 2012, 22:24

Ilias95 έγραψε:...Anyway, πάμε με τα σχόλια όπως είπες και ο θεός βοηθός... :P

Τα μεγάλα προγράμματα είναι χωρισμένα σε πολλά πηγαία αρχεία, και το συνηθισμένο είναι οι συναρτήσεις που περιέχουν να ξεκινάνε πάντα με κάποιο κοινό string 2-3 γραμμάτων.

Αν π.χ. έχεις ένα arr.c αρχείο που έχεις μέσα συναρτήσεις για διαχείριση ξέρω εγώ των array σου, μπορείς όλες τις συναρτήσεις του αρχείου αυτού να τις ξεκινάς με "arr"...

Μορφοποιημένος Κώδικας: Επιλογή όλων
void arr_print(...);
void arr_insert(...);
void arr_erase(...);
...
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

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

Δημοσίευσηαπό Star_Light » 28 Φεβ 2012, 23:26

Λοιπον οκ εριξα ξανα μια ματια.... καταλαβαινω και εγω πως δεν χρειαζεται να επεκταθώ περισσοτερο απλα να ρωτησω κατι τελευταιο ...

Στο 3.1 στην αρχη - αρχη 3η σειρά 1η παράγραφος "Values inserted into the string ..... "

Να υποθεσω οτι σαν values εννοει ας πουμε κατι τετοιο

Κώδικας: Επιλογή όλων
printf(" Value is : %d " , x);


επειδη αναφέρεται για into στην συμβολοσειρα ουσιαστικα εννοει σαν value το %d . Αυτο το %d ειναι χαρακτήρες 2 ή ένας? Σαν τι θεωρούνται?

Ενα παραδειγμα ordinary character? ή θα τα δω πιο κατω? αν τα δω οκ.

Και τωρα παμε σελ.40 3η bulletin

%5d displays i in decimal form using a minimum of five characters since i requires only two characters three spaces were added

Το characters ειναι συνώνυμο με τα ψηφια έτσι? εδω. Και ειπες πιο πριν οτι τα ψηφια αυτα των αριθμων τα μετατρεπει η συναρτηση σε χαρακτηρες μεσα της....
Γνώσεις ⇛ 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

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

http://cgi.di.uoa.gr/~ip/Cfunctionsref.html

για οποιον υποφέρει με τα αγγλικά :lol: :lol:
ιδου και κατι ελληνικο. -.-
Γνώσεις ⇛ 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

Δημοσίευσηαπό Star_Light » 29 Φεβ 2012, 04:10

BTW η σελίδα 48 ειναι πραγματικά σωτήρια !!!! Τα εξηγεί πιο καλά για τις "αδυναμιες" της scanf....
Θα προσπαθησω και αυριο.... αν και για μενα οι σελιδες 44-47 τουλαχιστον για σημερα και για μενα δεν διαβαζόντουσαν!

Τελοςπαντων έφτιαξα στα γρήγορα την άσκηση 1 στη σελίδα 50

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


#include<stdio.h>
int main(void)

{
int day , month , year ;

printf(" Enter a date (mm /dd / yyyy): ");
scanf("%d / %d /%d" , &month ,&day , &year);

printf(" You entered the date: %d/%2.2d/%d " , year , month ,day);

return 0;
}


p.s Το βιβλιο ειναι εξαιρετικο παντως. Σε καμια περιπτωση δεν τα ριχνω σε αυτο :)
Γνώσεις ⇛ 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

Δημοσίευσηαπό migf1 » 29 Φεβ 2012, 18:49

Χαίρομαι που σιγά-σιγά βγάζεις άκρη Κώστα! Πολύ χρήσιμο και το ελληνικό link ως βοήθημα!

Ποστάρισα αυτά που λέγαμε για το HexView: http://forum.ubuntu-gr.org/viewtopic.ph ... 43#p231743 (έχω βάλει και screen-shots σε spoiler, στο τέλος του -εκτός παράθεσης- κειμένου).

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

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

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

migf1 έγραψε:Χαίρομαι που σιγά-σιγά βγάζεις άκρη Κώστα! Πολύ χρήσιμο και το ελληνικό link ως βοήθημα!

Ποστάρισα αυτά που λέγαμε για το HexView: viewtopic.php?p=231743#p231743 (έχω βάλει και screen-shots σε spoiler, στο τέλος του -εκτός παράθεσης- κειμένου).

Ρίξτε μια ματιά όταν ευκαιρήσετε (δεν υπάρχει βιασύνη).

Οκ! Να ρωτησω κατι το -4.0e3 ειναι το -4000 ? -4 * 10^3 .
Γνώσεις ⇛ 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
Εκτύπωση

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

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