C 语言中 long p=1 的意思

如题所述

&wiegand[0] 意思就是取wiegand[0]和地址;
(long*)&wiegand[0] 意思就是将地址转为整型指针;
(*(long*)&wiegand[0]) 意思就是取指针所指单元的内容,这里表达式等价于wiegand[0];
(*(long*)&wiegand[0]) <<= 1意思就是将wiegand[0])左移一位.
将我可以用下面的程序来验证:
#include <stdio.h>
void main()
{
int wiegand[4]=;
printf("%d\n",(*(long*)&wiegand[0])<<=1 );
//上面就是输出wiegand[0],其值为5,左移一位(相当于乘2)的值应该是10.
//本例没有涉及二维数组,因此楼上的2位说法是错误的.
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-07
long是long int的简写,表达式的意思是:长整形的p赋值为1
第2个回答  2011-06-08
把变量p定义成长整型,并且赋值为1.
相似回答