Ποια είναι η διαφορά μεταξύ του NUL και του NULL στον προγραμματισμό;


Απάντηση 1:

Το NUL είναι ένας χαρακτήρας ASCII που η τιμή ascii είναι 0 όπου το NULL είναι μια μακροεντολή που ορίζεται στο stddef.h και αρκετά περισσότερα αρχεία κεφαλίδας με τιμή του ((void *) 0). αυτός είναι ο λόγος που ο NULL ονομάζεται επίσης δείκτης NULL.

Και οι δύο χρησιμοποιούσαν εναλλακτικά '(επειδή 0 ονομάζεται επίσης δείκτης NULL που είναι ASCII αξία NUL χαρακτήρα) μεταξύ τους χωρίς την κατάλληλη γνώση του προγραμματιστή επειδή φαίνεται ότι και τα δύο είναι ίδια, αλλά η πραγματικότητα δεν είναι.

Η συμβολοσειρά C τερματίζεται με τον χαρακτήρα NUL ('\ 0') όπου αρχικοποιούμε τη μεταβλητή δείκτη NULL όταν την δηλώνουμε. Επειδή το C υποστηρίζει σιωπηρή μετατροπή τύπου δεν υπάρχει καμία επίδραση που βλέπουμε όταν χρησιμοποιούμε αμφότερες εναλλακτικά. Αλλά είναι καλή πρακτική να χρησιμοποιείτε τόσο το κατάλληλο μέρος.

Πρόκειται για κακό προγραμματισμό προγραμματισμού

ενώ (str [i]! = NULL) / / implicit μετατρέπεται σε 0 που είναι τιμή ASCII του NUL Ο σωστός τρόπος εγγραφής πάνω από την έκφραση ενώ (str [i]! = '\ 0') // αντικατάσταση με την τιμή ASCII 0 int * ptr = '\ 0'; // αντικαταστήστε με την τιμή ASCII 0 την οποία η έμμεση διεύθυνση 0 Ο σωστός τρόπος για να γράψετε πάνω από την έκφραση int * ptr = NULL; // αντικαταστήστε με τη διεύθυνση 0

Απάντηση 2:

Αν μιλάτε για τον Τυπικό προγραμματισμό τότε δεν υπάρχει τέτοιος όρος που ονομάζεται NUL!

Βασικά, το NULL στην περίπτωση προγραμματισμού C μπορεί να χρησιμοποιηθεί με τους ακόλουθους τρόπους:

μηδενική μακροεντολή null μηδενικού δείκτη (\ 0) μηδενική σταθερά 

Για παράδειγμα;

Όταν ένα byte έχει οριστεί στο μηδέν, ονομάζεται μηδενικός χαρακτήρας. Χρησιμοποιείται στη βασική εκτέλεση για να τερματίσει μια καθορισμένη συμβολοσειρά.

Ωστόσο, το NUL είναι μια μεταβλητή καθορισμένη από το χρήστη!

  • Είναι το όνομα του πρώτου συνόλου ASCII, Αντιστοιχεί σε μηδενική τιμή. Μπορείτε να το δηλώσετε με αυτόν τον τρόπο:
#define NUL '\ 0'

Αλλά δεν προτιμάται από προγραμματιστές. Ελπίζω να έχω απαντήσει στην ερώτησή σας!

Happy Coding!