1樓:物理公司的
有些資訊在儲存時,並不需要佔用一個完整的位元組, 而只需佔幾個或一個二進位制位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。為了節省儲存空間,並使處理簡便,c語言又提供了一種資料結構,稱為「位域」或「位段」。
所謂「位域」是把一個位元組中的二進位劃分為幾個不同的區域,並說明每個區域的位數。每個域有一個域名,允許在程式中按域名進行操作。這樣就可以把幾個不同的物件用一個位元組的二進位制位域來表示。
一、位域的定義和位域變數的說明位域定義與結構定義相仿,其形式為:
struct 位域結構名
;其中位域列表的形式為: 型別說明符 位域名:位域長度
例如:struct bs
;位域變數的說明與結構變數說明的方式相同。 可採用先定義後說明,同時定義說明或者直接說明這三種方式。例如:
struct bs
data;
說明data為bs變數,共佔兩個位元組。其中位域a佔8位,位域b佔2位,位域c佔6位。對於位域的定義尚有以下幾點說明:
1. 一個位域必須儲存在同一個位元組中,不能跨兩個位元組。如一個位元組所剩空間不夠存放另一位域時,應從下一單元起存放該位域。也可以有意使某位域從下一單元開始。例如:
struct bs
在這個位域定義中,a佔第一位元組的4位,後4位填0表示不使用,b從第二位元組開始,佔用4位,c佔用4位。
2. 由於位域不允許跨兩個位元組,因此位域的長度不能大於一個位元組的長度,也就是說不能超過8位二進位。
3. 位域可以無位域名,這時它只用來作填充或調整位置。無名的位域是不能使用的。例如:
struct k
;從以上分析可以看出,位域在本質上就是一種結構型別, 不過其成員是按二進位分配的。11
2樓:流13氓2兔
:號。你說的是(a>b)?c:d這裡的冒號嗎?
?:和在一起是三目運算子,判斷?前邊的式子真假,為真則結果為:前邊的,為假則結果為:後邊的。
其他地方不記得有:了
c語言中的冒號(:)是什麼意思?
3樓:籍菲佴霜
1.這是c語言的三目運算子。
2.對於條件表示式b?x:
y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。一個條件表示式從不會既計算x,又計算y。
3.條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?b:c?d:e將按a?b:(c?d:e)執行。
4樓:井鈺
兩種用法,一種是和?構成的條件表示式
即?:運算子
還有個是標點符的:
也是運算子
1.作為位域 ,表示佔多少二進位制位
2.和switch語句在一起用
如:switch(c)
5樓:
c語言中的三目運算子( .. ? .. : ..)switch中的case分支(case : ..)位段中也有,如(
struct abc
)這些1樓的講得很詳細了` 我只補充一點,就是在跳轉語句中也有用到":"
如:....
goto loop;
.....
loop : ....
6樓:
1樓講得很詳細了!!!
c語言中 ":=" (冒號 等於)是什麼意思?
7樓:匿名使用者
這是偽**,只是用來說明邏輯的,並不是具體什麼程式語言的**。
當然,這裡顯然表示賦值
8樓:匿名使用者
c語言中沒有這種用法,該用法存在於偽**中,如p:=2表示把2賦值給p。
c語言中賦值語句直接用一個=,如p=2,他還可以和其他的+、-、*、/等運算子連用,比如+=, -=, *=, /=等,如a += b,等價於a = a+b,其他類似。
9樓:匿名使用者
:=≡:⇔ 定義 x := y 或 x ≡ y 表示 x 定義為 y的一個名字(注意:≡ 也可表示其它意思, 例如全等)。
p :⇔ q 表示 p 定義為 q 的邏輯等價。 cosh x := (1/2)(exp x + exp (−x))
a xor b :⇔ (a ∨ b) ∧ ¬(a ∧ b)定義為所有領域
10樓:匿名使用者
能不能舉一個例子 我還從來沒有看到過這個東西的運用 你是不是斷章取義了
11樓:匿名使用者
是在嵌入sql語句中使用的,將:=後面的值賦給前面的變數。
12樓:匿名使用者
c語言中沒有:=這種語法。這是錯誤的寫法。意思和=相同。
13樓:湛藍水晶
這是偽pascal**,一般,用:=來表示賦值,而用=來表示比較
14樓:泠月冰辰
偽**, 賦值的意思.
15樓:匿名使用者
你看措了吧,是!=吧
16樓:
是不是錯了哦?沒有看到過呢???
c語言中,函式定義中的冒號是什麼意思?
17樓:匿名使用者
(1)表示機構內位域的定義(即該變數佔幾個bit空間)**如下:
typedef struct _*** ; ***(2)建構函式後面的冒號起分割作用,是類給成員變數賦值的方法,初始化列表,更適用於成員變數的常量const型。
**如下:
struct _***
};(3) public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,直到下一個"public:
」或"private:」出現為止。"private:
"為預設處理。
(4)類名冒號後面的是用來定義類的繼承。
**如下:
class 派生類名 : 繼承方式 基類名;繼承方式:public、private和protected,預設處理是public。
c語言中,函式定義中的冒號是什麼意思
18樓:du瓶邪
(1)表示機來構內位域的定義(源即該變數佔幾個baibit空間)**如下
duzhi:
typedef struct _*** ; ***(2)建構函式後面的冒號
dao起分割作用,是類給成員變數賦值的方法,初始化列表,更適用於成員變數的常量const型。
**如下:
struct _***
};(3) public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,直到下一個"public:
」或"private:」出現為止。"private:
"為預設處理。
(4)類名冒號後面的是用來定義類的繼承。
**如下:
class 派生類名 : 繼承方式 基類名;繼承方式:public、private和protected,預設處理是public。
19樓:13孤島
呵呵,冒號跟中文一樣意思,他不是函式的一部分。
mciaudio::mciseekto(dworddwto)
同下面是某某函式:(現在這個冒號啥意思知道了吧)mciseekto(dword
20樓:o默化
這是累中的函式在累外面定義時的格式
21樓:大衍之
雙冒號 叫做域操作符 在c語言裡裡面 一般是個struct用的,struc a
可以直接這樣用
可以這樣使用的都是static成員變數
printf("%d",a::a);
22樓:娥娥粉紅妝
這個好像不是c中的吧,冒號前面的有點類似名稱空間
c語言中" : "(冒號)和問號是什麼意思
23樓:雲南新華電腦學校
是問號和冒號一起嗎
bool a = 1>3?false:true;
?: 是三元運算子由條件
運算子組成的條件表示式的一般形式為:
表示式1 ? 表示式 2 : 表示式 3
其中表示式 1、表示式2、表示式3,既可以是一個簡單的表示式,又可以是由各種運算子組成的複合表示式。
計算過程很好理解:
先求表示式1的值, 如果為真, 則求表示式2 的值並把它作為整個表示式的值。 如果表示式1 的值為假, 則求表示式3 的值並把它作為整個表示式的值。
24樓:科技程式迷
是一個語句,判斷一個表示式的真假來執行兩條**比如int a=9,b=8;
a>b?a=8:b=9; //就是這句
相當於if語句吧,問號前面的表示式為真的時候執行a=8,否則b=9;
明白了吧。
25樓:匿名使用者
這是c語言的三目運算子。
對於條件表示式b?x:y,先計算條件b,然後進行判斷。
如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。一個條件表示式從不會既計算x,又計算y。
條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?b:c?d:e將按a?b:(c?d:e)執行。
26樓:匿名使用者
冒號的話一般都是人家說話的時候就是打個冒號,說的是什麼問號的話,一般是一個語句說完了等人家提的問題就是問好。
c語言中":"(冒號)和問號是什麼意思
27樓:齋思菱劍興
1.這是c語言的三目運算子。
2.對於條件表示式b?x:
y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。一個條件表示式從不會既計算x,又計算y。
3.條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?b:c?d:e將按a?b:(c?d:e)執行。
28樓:蹉香卉郜妃
是一個語句,判斷一個表示式的真假來執行兩條**比如inta=9,b=8;
a>b?a=8:b=9;//就是這句
相當於if語句吧,問號前面的表示式為真的時候執行a=8,否則b=9;
明白了吧。
29樓:匿名使用者
是問號和冒號一起嗎
bool a = 1>3?false:true;
?: 是三元運算子
由條件運算子組成的條件表示式的一般形式為:
表示式1 ? 表示式 2 : 表示式 3
其中表示式 1、表示式2、表示式3,既可以是一個簡單的表示式,又可以是由各種運算子組成的複合表示式。
計算過程很好理解:
先求表示式1的值, 如果為真, 則求表示式2 的值並把它作為整個表示式的值。 如果表示式1 的值為假, 則求表示式3 的值並把它作為整個表示式的值。
30樓:六十七年
你是不是說的這種 a?b:c
這是三目運算子
e.g.
d = a?b:c
如果a為ture,則d=b,否則d=c
c語言中 ":=" (冒號 等於)是什麼意思?
31樓:魯禮常胭
c語言中沒有這種用法,該用法存在於偽**中,如p:=2表示把2賦值給p。
c語言中賦值語句直接用一個=,如p=2,他還可以和其他的+、-、*、/等運算子連用,比如+=,
-=,*=,
/=等,如a
+=b,等價於a
=a+b,其他類似。
32樓:盛美媛拱君
:=≡:⇔定義x:=
y或x≡
y表示x定義為
y的一個名字(注意:≡
也可表示其它意思,
例如全等)。p:⇔
q表示p定義為
q的邏輯等價。
coshx:=
(1/2)(expx+
exp(−x))
axorb:⇔
(a∨b)∧
¬(a∧
b)定義為
所有領域
33樓:牛信從戊
兩種用法,一種是和?構成的條件表示式
即?:運算子
還有個是標點符的:
也是運算子
1.作為位域
,表示佔多少二進位制位
2.和switch語句在一起用
如:switch(c)
C語言中array是什麼意思,c語言中的array 是什麼意思哦
1 陣列,顧名思義,是相同型別的陣列成的一個組,也就是說是把相同型別的一系列資料統一編制到某一個組別中。這樣就可以通過陣列名 索引號簡單快捷的操作大量資料。這就和全校學生一樣,把學生分成多個班級,每個學生都是班級中的一員,如果要找張三,如果沒有班級的話,就要在全校學生中一個一個尋找,一直到找到為止 ...
求 c 語言中關鍵字的意思,求 c 語言中60個關鍵字的意思?
code auto 宣告自動變數 一般不使用double 宣告雙精度變數或函式 int 宣告整型變數或函式 struct 宣告結構體變數或函式 break 跳出當前迴圈 else 條件語句否定分支 與 if 連用 long 宣告長整型變數或函式 switch 用於開關語句 case 開關語句分支 e...
求c語言中的關鍵字及其意思,求C語言中的32個關鍵字及其意思?
啤酒哥資料 關鍵字如下 一 資料型別關鍵字 12個 1 char 宣告字元型變數或函式 2 double 宣告雙精度變數或函式 3 enum 宣告列舉型別 4 float 宣告浮點型變數或函式 5 int 宣告整型變數或函式 6 long 宣告長整型變數或函式 7 short 宣告短整型變數或函式 ...