冒号在C语言中起什么作用

Python010

冒号在C语言中起什么作用,第1张

冒号在C语言中有以下几种作用:

1.语句标识,与goto语句配合使用。如:

 c++

 if (c>3) goto next

 if (c<2){

   c--

 }

 next: return

由于goto语句会造成不易阅读等情况,因此应避免使用

2.条件赋值语句的组成部分

a=(a>3)?1:2

冒号将前面的条件语句在真和假两种情况的不同取值进行了分隔。

3.位域

struct K{

  int a:1

  int b:2

}

这里用作指示位宽的标识,上例中,a占一个位宽,b占两个位宽。

4.switch语句的case分支标识

switch(表达式){ 

    case 常量表达式1:  语句1

    case 常量表达式2:  语句2

    … 

    case 常量表达式n:  语句n

    default:  语句n+1

}

在case后面跟一个常量表达式,再加上冒号,作为不同分支的入口条件。

(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。