Προς το περιεχόμενο

pointers c++


ALLisCHAOS

Προτεινόμενες αναρτήσεις

  • Απαντ. 86
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοφιλείς Ημέρες

Απο το λινκ της αναρχιας

Επίσης το δοκιμασα.

 

Όπως τα λέει ο AlbNik. Για αυτό και π.χ. το ιδιωματικό...

int main( void )
{
    char s[30] = {'\0'};
    ...
γεμίζει με μηδενικά και τα υπόλοιπα bytes του s (μαζί δλδ με το 1ο).

 

EDIT:

 

...

%p και cast σε (void *) για να εκτυπώσεις το pointer.

Αυτό αν το θυμάμαι σωστά, σε C λειτουργεί από C99 κι έπειτα (σε C++ δεν θυμάμαι).

 

@timon: Πού κολλάει το OOP στην ερώτηση του τοπικ στάρτερ;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@Kercyn:

Μετά το zero byte δεν είναι σκουπίδια αλλά initialized μνήμη (επίσης zero bytes). Δες την ερώτηση 1.30 από το C-faq.

%p και cast σε (void *) για να εκτυπώσεις το pointer.

 

Επίσης υπάρχει μια καλή απάντηση και εδώ αν θέλει να ανατρέξει κάποιος  : 

 

http://stackoverflow.com/questions/18688971/c-char-array-initialization

 

Αν και δεν συμφωνω τοσο με το 

 char arr[10] = " ";

διοτι δεν ειναι τοσο ξεκάθαρο ενω το 

char arr[10] = {'\0'};

θεωρω οτι ειναι προτιμότερο. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν και δεν συμφωνω τοσο με το 

 char arr[10] = " ";
διοτι δεν ειναι τοσο ξεκάθαρο ενω το 

char arr[10] = {'\0'};
θεωρω οτι ειναι προτιμότερο.

 

Στο 1ο φαντάζομαι εννοείς:

   char arr[10] = "";
δηλαδή χωρίς διάστημα ανάμεσα στα εισαγωγικά.
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πάντως προσωπικά όποτε βλέπω

'\0'
πονάνε να μάτια μου.

 

300% αύξηση στα keystrokes for exactly '\0' 0 benefit.

 

Για κανονικό κώδικα όντως 0 benefit. Για παραδείγματα, tutorials, κτλ υποτίθεται έχει καλύτερο readability. Δείχνεις στον αναγνώστη ότι μιλάς για τον NUL χαρακτήρα και όχι για αριθμητικό 0 ή οτιδήποτε άλλο και έτσι (ίσως) τον βοηθάς να το καταλάβει πιο εύκολα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για κανονικό κώδικα όντως 0 benefit. Για παραδείγματα, tutorials, κτλ υποτίθεται έχει καλύτερο readability. Δείχνεις στον αναγνώστη ότι μιλάς για τον NUL χαρακτήρα και όχι για αριθμητικό 0 ή οτιδήποτε άλλο και έτσι (ίσως) τον βοηθάς να το καταλάβει πιο εύκολα.

Το ίδιο ισχύει και για κανονικό κώδικα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το ίδιο ισχύει και για κανονικό κώδικα.

Εννοείται πως παντού θέλεις readability αλλά σε ένα "κανονικό" κώδικα ενός project δεν χρειάζεται κάτι τόσο ακραίο γιατί δεν νομίζω κάποιος από τους developers να μην καταλαβαίνει κάτι τόσο απλό όσο το σκέτο 0 vs '\0' (αν και έχω διαβάσει μήνυμα developer να ζητάει να μην χρησιμοποιείται το ?: γιατί τον μπερδεύει οπότε όλα είναι πιθανά).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

...

300% αύξηση στα keystrokes for exactly '\0' 0 benefit.

Στείρα δημιουργία εντυπώσεων. Αλλιώς να υποθέσουμε πως εσένα κώδικα που θα τον έγραφες σε 2 μήνες με 0, με '\0' θα σε πάρει 6 μήνες.

 

Εννοείται πως παντού θέλεις readability αλλά σε ένα "κανονικό" κώδικα ενός project δεν χρειάζεται κάτι τόσο ακραίο γιατί δεν νομίζω κάποιος από τους developers να μην καταλαβαίνει κάτι τόσο απλό όσο το σκέτο 0 vs '\0' (αν και έχω διαβάσει μήνυμα developer να ζητάει να μην χρησιμοποιείται το ?: γιατί τον μπερδεύει οπότε όλα είναι πιθανά).

Γενικώς, κώδικας που αλλάζει ή δύναται να αλλάξει αρκετά χέρια, επωφελείται πολύ από το readbility. Είτε είναι κανονικός είτε όχι. Βασικά είναι κυρίως θέμα του coding-style που επιβάλλει (αν επιβάλλει) το περιβάλλον εργασίας.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γιατί ρε παιδιά σε κάθε thread πρέπει να υπάρχει shitstorm;

Hello!

Επειδη ειμαστε σε ελληνικο τεχνολογικο φορουμ.

 

ΥΓ: Παλι καλα που δεν υπαρχουν και πολλοι προγραμματιστες, ριξε μια ματια στο ηλεκτρονικα, κατι επικες συζητησεις περι free energy (κλαιω μονο που τα θυμαμαι)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Moderators

Hello!

Επειδη ειμαστε σε ελληνικο τεχνολογικο φορουμ.

 

ΥΓ: Παλι καλα που δεν υπαρχουν και πολλοι προγραμματιστες, ριξε μια ματια στο ηλεκτρονικα, κατι επικες συζητησεις περι free energy (κλαιω μονο που τα θυμαμαι)

 

Ποια ηλεκτρονικά; Δε βλέπω subforum ηλεκτρονικών στο insomnia, εκτός αν εννοείς άλλο forum, οπότε θα χρειαστώ links :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...