Kiểu bool, boolean trong lập trình C/C++ (Code ví dụ)
Bài viết được sự cho phép của tác giả Trần Hữu Cương
Kiểu dữ liệu boolean, bool là gì?
Kiểu dữ liệu Boolean là một kiểu dữ liệu có chỉ có thể nhận một trong hai giá trị như đúng/sai (true/false, yes/no, 1/0) nhằm đại diện cho hai giá trị thật (truth value).
Trong lập trình C kiểu boolean sẽ được gọi là bool (trong Java thì gọi là boolean, trong Python thì gọi là bool… tùy theo ngôn ngữ).
Ban đầu, ngôn ngữ C không hỗ trợ kiểu bool, mà nó dùng số integer để biểu thị true/false (0 tức là false, khác 0 tức là true). Bắt đầu từ phiên bản C99 standard for C language thì mới bắt đầu hỗ trợ kiểu bool.
Để sử dụng kiểu bool ta có các cách sau:
Cách 1: Sử dụng thư viện <stdbool.h>
Với cách này ta sử dụng kiểu bool của C (với C++ thì mặc định không cần khai báo thư viện <stdbool.h>
)
Ví dụ:
#include<stdio.h> #include <stdbool.h> int main() { bool value = false; if (value) { // tương đương với kiểm tra value == true printf("value is true"); } else { printf("value is false"); } return 0; }
C++ tuyển dụng nhiều vị trí, lương cao, ứng tuyển ngay!
Cách 2: Tự định nghĩa kiểu bool với enum
enum bool { false, true }; // tương đương với typedef enum { false=0, true=1 } bool;
Ví dụ:
#include<stdio.h> typedef enum { false, true } bool; int main() { bool value = false; if (value) { // tuong duong v?i ki?m tra value == true printf("value is true"); } else { printf("value is false"); } return 0; }
Cách 3: Định nghĩa kiểu bool với integer
typedef int bool; enum { false, true };
Cách 3: Khai báo hằng số true/false
typedef int bool; #define true 1 #define false 0
Trong các cách trên:
- Cách 1 chỉ chạy được từ phiên bản C99 standard for C language. Tuy nhiên hầu hết các bản compiler C/C++ đều đã update cho nên các bạn nên dùng cách này.
- Cách 2,3,4: thì hoạt động giống nhau
Nhìn chung thì kiểu bool vẫn là kiểu integer, nên cho dù dùng cách nào thì bạn vẫn có thể gán bool bằng một giá trị integer bất kì (0 tức là false, khác 0 tức là true)
Bài viết gốc được đăng tải tại codecute.com
Có thể bạn quan tâm:
Xem ngay những tin đăng tuyển dụng IT mới nhất trên TopDev
- i iOS 18 khi nào ra mắt? iOS 18 sẽ không hỗ trợ máy nào?
- V Về Logging: Mắt thần của bạn trên hệ thống thực
- M Middlewares – Sự tùy biến trong ứng dụng phần mềm
- Đ Đón đầu 7 xu hướng công nghệ hàng đầu trong năm 2024
- T Thực hiện “Chuẩn Hóa CV” nhận ngay quà hấp dẫn
- M METRO.digital Vietnam culture and ways of working
- G GW2790QT – Màn hình 2K tốt nhất dành cho lập trình viên
- S So sánh AWS, Google Cloud và Azure năm 2024
- D Data Analyst là gì? Chuyện nghề của một Data Analyst
- C Công nghệ nào đứng sau AI tạo ra MC ảo đang hot rần rần?