C 中的布林型別
C 在C語言的基本型別系統之上增加了
bool
C 中的
bool
可取的值只有true
和false
##理論上
bool
#注意:之佔用一個位元組
true
代表真值,編譯器內部用1來表示false
代表非真值,編譯器內部用0來表示
C語言中:用整型值來取代
bool
型別,常用0:flase, 1:true
C 做了型別增強,增加了一個非常嚴謹的
bool
true和
false
作為關鍵字存在。 在C 的布林類型中,bool可以定義類型只有
true和
- false
。兩個值,C 編譯器會將非0值轉換為
falsetrue
, 0值轉換為- 程式碼試驗:
bool b = 0; printf("b = %d\n", b); b++; printf("b = %d\n", b); b = b - 3; printf("b = %d\n", b); // bool类型是否支持数学运算?其實在C 語言中,布林類型的內部實作是用一個位元組的整數來實現的,
bool
類型支援數學運算,編譯器會在內部進行調整,非0為true,0 為false- ##可以定義
#include <stdio.h> int main(int argc, char *argv[]) { bool b = false; int a = b; printf("sizeof(b) = %d\n", sizeof(b)); // sizeof(b) = 1, bool类型占一个字节 printf("b = %d, a = %d\n", b, a); 0 // b = 0, a = 0 b = 3; // b = 1 a = b; // a = 1 printf("b = %d, a = %d\n", b, a); b = -5; // b = 1 a = b; // a = 1 printf("b = %d, a = %d\n", b, a); a = 10; // a = 10 b = a; // b = 1 printf("a = %d, b = %d\n", a, b); a = 0; // a = 0 b = a; // b = 0 printf("a = %d, b = %d\n", a, b); return 0; }
#布林類型是C 中的基本資料型別
- bool
類型的常數類型的全域變數
可以定義
bool
bool
類型的指標C 中的三目運算子可以直接傳回變數本身可以定義
bool類型的陣列
不能作為左值使用......
- C 中對三目運算子進行了升級
#2、三目運算子
- #考慮下列程式碼是否正確,分別在C語言和C環境中編譯運行試驗
三目運算子int a = 1; int b =2; (a < b ? a : b) = 3; printf("a = %d, b = %d\n", a, b); // 在C语言中报错 // 在C++中,结果a = 3
- #C語言中的三目運算子傳回的是變數值
既可以當作右值使用,又可以當左值使用
#注意:三目運算子可能傳回的值中如果有一個是常數值,則不能作為左值使用
三目運算子只有在所有的可能返回都是變數的時候才能作為左值使用,一個常數一個變數就不能作為左值使用
三目運算子所有的可能回傳都是變數的時候,回傳的就是變數本身
,由此引出了新概念:引用##3、引用
- 變數是一段實際連續儲存空間的別名,程式中透過變數來申請並命名儲存空間,透過變數的名字可以使用儲存空間。
3.1 變數名
##在C 中增加了引用的概念
- 問題:一段連續的儲存空間只能有一個別名嗎?
- 3.2 引用
C 中的引用
int a = 4; int& b = a; // b作为a的别名 b = 5; // 操作b就是操作a引用可以看作定義變數的別名
- 引用的語法:
Type& name = var;
注意:
- 普通引用在定義時必須用同類型的變數進行初始化。
C 對三目運算子做了些啥?
int a = 1; int b = 2; (a
bool##當三目運算子的可能回傳中有常數時,回傳的是
值
4、小結
bool類型是C 新增加的基礎類型
類型的值只能是
trueC 中的三目運算子可作為左值使用C 中的引用可以看作變數的別名來使用
###三目運算子的可能回傳都是變數時,回傳的是引用#########相關文章:#########php boolean(布林)類型的用法範例###########PHP布爾型資料型別 false true 用法介紹######以上是C++ 布林類型和引用的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!