C是否有连接运算符?

时间:2012-03-27 15:35:13

标签: c verilog

This Verilog tutorial(参见最后的表)表明{ }是一个连接运算符是C.我不记得大括号是C中的运算符

{ }是C中的连接运算符吗?

7 个答案:

答案 0 :(得分:6)

不,那只是胡说八道。不知道那是什么。

答案 1 :(得分:3)

来自链接教程:

  

为了让我们的生活更轻松,几乎所有运算符(至少是下面列表中的运算符)与C编程语言中的运算符完全相同。

强调我的。例外情况为~&~|~^^~{}

相邻字符串文字会自动连接:

char *str = "This is the first half " 
            "and this is the second half";

任何涉及char缓冲区的内容都需要像strcat这样的库函数:

char buf[SOME_SIZE];
...
strcat(buf, "This is the first half ");
strcat(buf, "and this is the second half");

还有预处理程序令牌粘贴运算符##,但结果必须是有效的预处理程序标记。

答案 2 :(得分:2)

绝对不是。 C中的花括号为C ++,C#和其他分隔代码块。这是他们网站上的错误。因为我们谈论'纯粹的,老式的C编程语言'

,所以不存在运算符重载的可能性

答案 3 :(得分:1)

不,在纯C中,大括号不是连接运算符。

请注意,Verilog页面上的运算符表包含许多其他“非C,非C ++”运算符:

~&    nand
|     or
~|    nor
^     xor
^~    xnor
~^    xnor

当运算符与C中的运算符相同时,它们具有与C中相同的含义。但是Verilog中的运算符不在C中(并且,如果该表是完整的,则C中的运算符不在Verilog中) )。

答案 4 :(得分:1)

C与{ }唯一的运算符是( ){ }运算符,它是复合文字运算符。

答案 5 :(得分:0)

取决于。根据C中的定义,curly括号不是运算符,它们不会连接字符串。但他们将声明分组并引入新的块。也许这就是作者的意思。但是,如果没有错误,至少是不准确的。

答案 6 :(得分:-1)

##是一个串联运算符....