第1个回答 2011-08-15
&有两个作用,其一是按位与,其二是取址。
*运算符比较复杂,即可以用在变量定义的语句中,也可以用在赋值、间接取值语句中,恰恰其所处的位置不同,从而用途、意义也不同,有时会使人混淆。
int i,iArr[5];
在scanf()函数中读入数组元素时,应该这样写
for(i = 0;i < 5;i++) scanf("%d",&iArr[i]);
也可以这样写
for(i = 0;i < 5;i++) scanf("%d",(iArr + i)); // VC++6.0环境下可以正常运行
for(i = 0;i < 5;i++) printf("%d ",iArr[i]); // 数组下标索引法
for(i = 0;i < 5;i++) printf("%d ",*(iArr + i)); // 间接取值法,或指针法
第2个回答 2011-08-15
&符号是取变量的地址,
*可用来申明指针变量类型,并且可以使用*取得该指针变量指向的地址中保存的内容
数组变量中保存的是下标为0的元素的地址 即: int nums[]={1,2,3}; nums==&nums[i] 返回true