为什么我们不能在声明结构变量名称时使用连字符?

克什蒂兹吉米尔

结构生日{ int day:6; }b天;

在声明b-day为结构时,它显示以下错误:

error: expected ':', ',', ';', '}' or '__attribute__' before '-' token|

但是从变量名中删除连字符后,它起作用了,为什么?

埃里克·波斯皮希尔

连字符用作减法和否定运算符,因此它们不能用于变量名称。(变量是用于结构还是其他类型无关紧要。)

如果你有:

int a = 1;
int b = 2;
int a-b = 3;
printf("%d\n", a-b);

那么我们对于是为a减号打印“-1”b还是为变量打印“3”会有歧义a-b

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我们不能在(非静态)内部类中使用静态方法?

为什么我们不能在内核开发中使用C标准库函数?

为什么我们不能在静态方法中使用'this'关键字

为什么在声明变量时,C ++允许我们在括号内将变量名括起来?

为什么我们不能声明一个类型为void的变量?

为什么我们不能在CSS声明块之间放置分号?

为什么我们不能在Elixir保护子句或宏中使用其他功能?

为什么我们不能在INTERFACE的静态块内分配变量?OCA

为什么我们不能立即调用函数声明?

为什么我们不能在FORFILES脚本中使用CALL:label命令?

为什么我们在python中使用与namedtuple的类型名相同的变量名?

为什么我们不能在Python中使用其地址访问对象?

为什么我们不能在Oracle中使用条件rownum = 5

为什么我们不能在C#中的结构中定义数组

为什么我们不能在结构内部声明函数?

为什么我们不能在C中使用变量作为e的值

为什么我们不能在方法内部声明私有本地内部类?

为什么我们不能在iOS中使用DTrace

为什么我们不能在扩展类的静态方法中使用此实例?

为什么我们不能在Tomcat中使用websocket?

为什么我们不能在jquery中使用setAtrribute函数?

为什么我们不能在函数中使用 raw_input?

为什么我们不能在python中更改字符串的特定值

为什么我们不能在循环中使用 async:true ?

为什么我们不能在 C 编程语言中使用 a 而不是 &a 来存储变量 a 的值?

为什么我们不能在三元语句中使用“pass”?

为什么我们不能在 switch 语句中使用关系表达式?

当我们在 Linq 上使用 .Select(x=>new object) 时,为什么我们不能在多方面选择任何属性

为什么我们不能在动态向量的情况下使用方括号?