2012年(158)
分类: C/C++
2012-11-14 17:02:22
TURBO C运算符的优先次序 | |
表达式 | 优先级 |
()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员) | 最高 |
!(逻辑非) ~(位取反) -(负号) ++(加1) --(减1) &(变量地址) | |
*(指针所指内容) TYPE(函数说明) SIZEOF(长度计算) | |
*(乘) /(除) %(取模) | |
+(加) -(减) | |
<<(位左移) >>(位右移) | |
<(小于) <=(小于等于) >(大于) >=(大于等于) | |
==(等于) !=(不等于) | |
&(位与) | |
^(位异或) | |
|(位或) | |
&&(逻辑与) | |
||(逻辑或) | |
?:(?表达式) | |
= += -= *= /= %= ^= &= !=(联合操作) | |
,(逗号运算符) | 最低 |
结合性:
在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理:
双目运算符都是左结合的,单目运算符和三目运算符是右结合的
例如:
a=b=c 等同于
a=(b=c);
*p[n] 等同于 *(p[n]);
*p++ 等同于 *(p++);
32/64位数据模型
Data Type | ILP32 | LLP64 | LP64 | ILP64 |
char | 8 | 8 | 8 | 8 |
short | 16 | 16 | 16 | 16 |
int | 32 | 32 | 32 | 64 |
long | 32 | 32 | 64 | 64 |
long long | 64 | 64 | 64 | 64 |
pointer | 32 | 64 | 64 | 64 |