关于运算符优先级
- C/C++ code
int val;char str[10];val = (* (int *))&str[0];val = * (int *)&str[0];
后两者有什么区别呢?
[解决办法]
可以这么写吗?
- C/C++ code
val = (* (int *))&str[0];
[解决办法]
val = (* (int *))&str[0];
语法错误
[解决办法]
第一种没错吗……
[解决办法]
第二种正确
先 (), 后 suffix,最后 prefix
[解决办法]
第一种编译错误(gcc4.2):
error: expected primary-expression before 'int'
第二种需要从右向左分析即可
[解决办法]
第一种用错了