3.7.2. Ρητές μετατροπές – τελεστής typecast

Ρητές μετατροπές – τελεστής typecast

 

Διαφήμιση

 

Εκτός από τις αυτόματες μετατροπές η C επιτρέπει ρητές μετατροπές μίας τιμής σε ένα διαφορετικό τύπο δεδομένων. Η διαδικασία ονομάζεται προσαρμογή ή εκμαγείο (casting) και ο τελεστής μετατροπής τύπου ή cast τελεστής, όπως αποκαλείται, είναι μοναδιαίος κι έχει τη μορφή (τύπος δεδομένων), π.χ. (float). Τοποθετείται μπροστά από μία έκφραση για να μετατρέψει την τιμή της στον περικλειόμενο σε παρενθέσεις τύπο:

 

int i,j; 
float f1,f2,f3; 
i=5; 
j=2; 
fl = i/j + 0.5; /* Αποτέλεσμα: 2.5 */ 
f2 = (float)i/(float)j + 0.5; /* Αποτέλεσμα: 3.0 */ 
f3 = i/j + 0.5;

 

Ο τελεστής sizeof είναι μοναδιαίος και δρα σε δύο τύπους δεδομένων:

  1. σε έκφραση, π.χ. sizeof(x+y)
  2. σε τύπο δεδομένων, πχ. sizeof(int)

Σε κάθε περίπτωση επιστρέφει τον αριθμό των bytes που η τιμή τής έκφρασης ή ο τύπος των δεδομένων καταλαμβάνει στη μνήμη. Προσοχή θα πρέπει να δοθεί στο γεγονός ότι το σύστημα δεν υπολογίζει την τιμή της έκφρασης κι έτσι πιθανή ύπαρξη παρενεργειών από τους τελεστές δε δημιουργεί παρενέργειες στη λειτουργία της sizeof.

 

Διαφήμιση
SEE ALL Add a note
YOU
Add your Comment
 
error: Το περιεχόμενο προστατεύεται!!
X