c語言冒號
A. c語言一種特殊的冒號用法!
理解C語言位域
有些信息在存儲時,並不需要佔用一個完整的位元組, 而只需占幾個或一個二進制位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。為了節省存儲空間,並使處理簡便,C語言又提供了一種數據結構,稱為「位域」或「位段」。所謂「位域」是把一個位元組中的二進位劃分為幾個不同的區域,並說明每個區域的位數。每個域有一個域名,允許在程序中按域名進行操作。這樣就可以把幾個不同的對象用一個位元組的二進制位域來表示。一、位域的定義和位域變數的說明位域定義與結構定義相仿,其形式為:
struct 位域結構名
{ 位域列表 };
其中位域列表的形式為: 類型說明符 位域名:位域長度
例如:
struct bs
{
int a:8;
int b:2;
int c:6;
};
位域變數的說明與結構變數說明的方式相同。 可採用先定義後說明,同時定義說明或者直接說明這三種方式。例如:
struct bs
{
int a:8;
int b:2;
int c:6;
}data;
說明data為bs變數,共占兩個位元組。其中位域a佔8位,位域b佔2位,位域c佔6位。對於位域的定義尚有以下幾點說明:
1. 一個位域必須存儲在同一個位元組中,不能跨兩個位元組。如一個位元組所剩空間不夠存放另一位域時,應從下一單元起存放該位域。也可以有意使某位域從下一單元開始。例如:
struct bs
{
unsigned a:4
unsigned :0 /*空域*/
unsigned b:4 /*從下一單元開始存放*/
unsigned c:4
}
在這個位域定義中,a占第一位元組的4位,後4位填0表示不使用,b從第二位元組開始,佔用4位,c佔用4位。
2. 由於位域不允許跨兩個位元組,因此位域的長度不能大於一個位元組的長度,也就是說不能超過8位二進位。
3. 位域可以無位域名,這時它只用來作填充或調整位置。無名的位域是不能使用的。例如:
struct k
{
int a:1
int :2 /*該2位不能使用*/
int b:3
int c:2
};
從以上分析可以看出,位域在本質上就是一種結構類型, 不過其成員是按二進位分配的。
B. C語言冒號 是什麼意思
這個 佔用 12個位。 只佔12位。
一個半位元組。
U16 u16Year:12;
U16 u8Month:4; 這兩個成員共同佔用2個位元組。 前1.5個位元組 u16Year,後4位 month
C. C語言怎麼向字元串中添加冒號「」
用轉義字元 ,如:string s = " \"abc\" ";
字元常量中使用單引號和反斜杠以及字元常量中使用雙引號和反斜杠時,都必須使用轉義字元表示,即在這些字元前加上反斜杠。
D. c語言中,函數定義中的冒號是什麼意思
(1)表示機構內位域的定義(即該變數占幾個bit空間)
代碼如下:
typedef struct _XXX{
unsigned char a:4;
unsigned char c;
} ; XXX
(2)構造函數後面的冒號起分割作用,是類給成員變數賦值的方法,初始化列表,更適用於成員變數的常量const型。
代碼如下:
struct _XXX{
_XXX() : y(0xc0) {}
};
(3) public:和private:後面的冒號,表示後面定義的所有成員都是公有或私有的,直到下一個"public:」或"private:」出現為止。"private:"為默認處理。
(4)類名冒號後面的是用來定義類的繼承。
代碼如下:
class 派生類名 : 繼承方式 基類名
{
派生類的成員
};
繼承方式:public、private和protected,默認處理是public。
E. C語言里兩個冒號是什麼意思
舉個例子int
a=1;int
main(){
int
a=2;
printf("%d
,%d\n",a,::a);}列印出來的是 2,1明白不?就是「名空間」::前面沒有任何東西
表示的就是全局有什麼就表示什麼,例如std::表示的就是std名空間裡面的http://www.4999cm.com/codes/CC++/2014/0210/2090.html可以看下這個,你或許能多明白點
F. c語言中的冒號
是錯誤,應該是=這條語句是對兩個字元串s[i]和s[j]的長度進行判斷,如果s[i]的長度更大,字元串s[i]與s[j]交換這段語句肯定是實現對一組字元串按字元串長度從小到大排序的功能模塊中的一條語句
G. c語言的雙冒號是什麼意思::
雙冒號(::)用法:
1、表示「域操作符」。
2、直接用在全局函數前,表示是全局函數。
3、表示引用成員函數及變數,作用域成員運算符。
4、命名空間作用域符,即2直接用在全局函數前,表示是全局函數,在運算符等級中屬於最高級的。
(7)c語言冒號擴展閱讀:
1、在類外部聲明成員函數。void Point::Area(){};
2、調用全局函數;
3、表示引用成員函數變數及作用域,作用域成員運算符 例:System::Math::Sqrt() 相當於System.Math.Sqrt()
4、調用類的靜態方法: 如:CDisplay::display(...)
可以非正式地把域看作是一個可視窗口全局域的對象在它被定義的整個文件里,一直到文件末尾都是可見的。
在一個函數內被定義的對象是局域的(local scope), 它只在定義其的函數體內可見。每個類維持一個域,在這個域之外 ,它的成員是不可見的。類域操作符告訴編譯器後面的標識符可在該類的范圍內被找到。
H. c語言中 ":=" (冒號 等於)是什麼意思
這是偽代碼,只是用來說明邏輯的,並不是具體什麼編程語言的代碼。
當然,這里顯然表示賦值
I. C語言中的冒號(:)是什麼意思
兩種用法,一種是和?構成的條件表達式
即?:運算符
還有個是標點符的:
也是運算符
1.作為位域 ,表示佔多少二進制位
2.和switch語句在一起用
如:
switch(c)
{
case 10://這里有冒號的
//執行語句
break;
case 3;
//執行語句
.....
}
J. c語言字母加冒號是什麼意思
一個合法標識符(c里定義了合法標識符是什麼)加個冒號表示個標簽,
利用goto可以跳轉到標簽。
如果你學了匯編就很熟悉這語句。不過一般情況下不提倡使用goto語句。