冒号在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后面跟一个常量表达式,再加上冒号,作为不同分支的入口条件。
这是标志初始化列表的意思。
构造函数将自动调用t来初始化_a.
这比_a = t更好。
因为更快。如果你不写初始化列表,编译器也会自动调用类型_a的构造函数来初始化_a.
更多请见Effective C++..这是本经典c++书。
mos: 一个标志
可以在别的地方goto mos;
就可以执行mos后的指令了。
我估计可能是这个程序中有个goto语句
例如:
mos:for(i=0;;i++)
{
if(i==100)
goto mos;
else i++;
break;
}