Ép kiểu

Ép kiểu khi gán dữ liệu

Ép kiểu là khi gán dữ liệu này vào dữ liệu khác mà có hai kiểu là khác nhau.

1
2
3
4
char a = 97; // gán kiểu int vào kiểu char
int b = 'b'; // gán kiểu char vào kiểu int
double c = 10; // gán kiểu int vào kiểu double
int d = 10.12; // gán kiểu double vào kiểu int

Tương tự như vậy có thể ép kiểu lúc gọi hàm.

1
2
3
4
5
6
7
int add (int a, int b) {
  return a + b;
}
int main() {
  // ép các kiểu của tham số từ double về lại kiểu int
  add(10.5, 10.5); // -> 20
}

Ép kiểu tường minh

Để ép kiểu tường minh hãy sử dụng tên kiểu muốn ép trước biểu thức như sau:

1
2
3
4
5
int sum = 17;
int count = 4;

// ép kiểu của sum về dạng double trước khi chia
double mean = ((double) sum) / count; // -> 4.25

Một ví dụ khác là ta có thể ép kiểu con trỏ về con trỏ void, và ngược lại.