Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chuyển đổi kiểu ngầm và tường minh trong C


Chuyển đổi một kiểu dữ liệu sang kiểu khác gọi là chuyển đổi kiểu.

  • Chuyển đổi ngầm (implicit)
  • Chuyển đổi tường minh (explicit)

Chuyển đổi ngầm

  • Trình biên dịch cung cấp chuyển đổi ngầm khi toán hạng khác kiểu.

  • Tự động thực hiện bằng cách chuyển kiểu nhỏ sang kiểu lớn.

int i, x; float f; double d; long int l;

Chuyển đổi kiểu ngầm và tường minh trong C

Biểu thức cuối cùng đánh giá thành giá trị 'double'.

Ví dụ

Ví dụ chuyển đổi ngầm:

int x;
for (x = 97; x <= 122; x++) {
    printf("%c", x); /* Ép ngầm từ int sang char %c */
}

Chuyển đổi tường minh

  • Người dùng thực hiện bằng toán tử (kiểu).

  • Trước khi chuyển, kiểm tra runtime xem kiểu đích có chứa giá trị nguồn không.

int a, c; float b; c = (int) a + b

Ở đây, kết quả 'a+b' được chuyển thành 'int' tường minh rồi gán cho 'c'.

Ví dụ

Ví dụ chuyển đổi tường minh:

int x;
for (x = 97; x <= 122; x++) {
    printf("%c", (char)x); /* Ép tường minh từ int sang char */
}

Xem sự khác biệt qua ví dụ:

Ví dụ (Chuyển đổi ngầm)

#include <stdio.h>
main() {
    int i = 40;
    float a;
    // Chuyển đổi ngầm
    a = i;
    printf("Gia tri ngam: %f\n", a);
}

Kết quả

Gia tri ngam: 40.000000

Ví dụ (Chuyển đổi tường minh)

#include <stdio.h>
main() {
    int i = 40;
    short a;
    // Chuyển đổi tường minh
    a = (short)i;
    printf("Gia tri tuong minh: %d\n", a);
}

Kết quả

Gia tri tuong minh: 40