Kiểu dữ liệu boolean C99?


93

Kiểu dữ liệu boolean C99 là gì và cách sử dụng nó?

Câu trả lời:


109

Bao gồm <stdbool.h>tiêu đề

#include <stdbool.h>

int main(void){
  bool b = false;
}

Macro truefalsemở rộng đến 10tương ứng.

Phần 7.16 kiểu Boolean và các giá trị< stdbool.h >

  • 1 Tiêu đề có <stdbool.h>bốn macro.
  • 2 Macro
    • bool mở rộng thành _Bool.
  • 3 Ba macro còn lại thích hợp để sử dụng trong các chỉ thị tiền xử lý #if. họ đang
    • true: mở rộng thành hằng số nguyên 1,
    • false: mở rộng thành hằng số nguyên 0 và
    • __bool_true_false_are_defined mở rộng thành hằng số nguyên 1.
  • 4 Bất chấp các quy định của 7.1.3, một chương trình có thể thiếu và có thể sau đó xác định lại bool macro, true và false.

17
Cũng cần lưu ý rằng việc chuyển đổi thành _Bool(bằng cách gán, ép kiểu, v.v.) có hiệu quả bằng cách đặt trước biểu thức với !!.
R .. GitHub DỪNG TRỢ GIÚP ICE

52

Vui lòng kiểm tra câu trả lời ở đây về chủ đề liên quan này được tìm thấy trên DaniWeb .

được trích và trích dẫn tại đây để tiện tham khảo: -


sử dụng các từ khóa mới trong c99

_Bool : kiểu boolean của C99. Việc sử dụng _Bool trực tiếp chỉ được khuyến nghị nếu bạn đang duy trì mã kế thừa đã xác định macro cho bool, true hoặc false. Nếu không, những macro đó được chuẩn hóa trong <stdbool.h> tiêu đề. Bao gồm tiêu đề đó và bạn có thể sử dụng bool giống như bạn làm trong C ++.

#include <stdio.h>
#include <stdbool.h>

int main ( void )
{
  bool b = true;

  if ( b )
    printf ( "Yes\n" );
  else
    printf ( "No\n" );

  return 0;
}


18
+1 để giải thích lý do tại sao _Booltồn tại cùng với bool. Rất hữu ích để hiểu nó.
eonil
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.