C语言中的冒号(:)是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的冒号(:)是啥意思?相关的知识,希望对你有一定的参考价值。

..........
C语言中的冒号用法有那些?..............
谢谢

两种用法,一种是和?构成的条件表达式
即?:运算符
还有个是标点符的:
也是运算符
1.作为位域 ,表示占多少二进制位
2.和switch语句在一起用
如:
switch(c)

case 10://这里有冒号的
//执行语句
break;
case 3;
//执行语句
.....
参考技术A 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)执行。
参考技术B C语言中的三目运算符( .. ? .. : ..)
switch中的case分支(case : ..)
位段中也有,如(
struct ABC

unsigned a : 2;
unsigned b : 3;
unsigned c;

)
这些1楼的讲得很详细了` 我只补充一点,就是在跳转语句中也有用到":"
如:

....
goto LOOP;
.....
LOOP : ....
参考技术C 1楼讲得很详细了!!!

bash中的冒号破折号“:-”是啥意思[重复]

【中文标题】bash中的冒号破折号“:-”是啥意思[重复]【英文标题】:What does the colon dash ":-" mean in bash [duplicate]bash中的冒号破折号“:-”是什么意思[重复] 【发布时间】:2015-02-11 06:30:28 【问题描述】:

结果是想要的;经过一些试验和错误。我不明白“2:-”和“3:-”是什么意思。谁能解释一下。

#!/bin/bash
pid=$(ps -ef | grep java | awk ' NR ==1 print $2')

count=$2:-30  # defaults to 30 times
delay=$3:-10 # defaults to 10 second
mkdir $(date +"%y%m%d")
folder=$(date +"%y%m%d")
while [ $count -gt 0 ]
do
    jstack $pid >./"$folder"/jstack.$(date +%H%M%S.%N)
    sleep $delay
    let count--
    echo -n "."
done

【问题讨论】:

tldp.org/LDP/abs/html/string-manipulation.html 寻找$string:position:length 你不明白马克 B 这个问题更有用,因为谷歌不搜索:- 【参考方案1】:

这是一个参数扩展,意思是如果第三个参数为null或未设置,则将其替换为后面的内容 :-

$ x=
$ echo $x:-1
1
$ echo $x

$

如果变量为空,还有另一个类似的 PE 赋值:

$ x=
$ echo $x:=1
1
$ echo $x
1

查看http://wiki.bash-hackers.org/syntax/pe

【讨论】:

感谢 sputnick 的解释。 与其说“void”,不如说“unset or null”更准确。

以上是关于C语言中的冒号(:)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中变量加冒号是啥意思

c语言中,函数定义中的冒号是啥意思?

c语言的双冒号是啥意思::

C语言里两个冒号是啥意思?

双冒号是啥意思?

c 语言里的 ::双冒号是啥意思啊