现在的位置: 首页 > 综合 > 正文

数组和指针的区别与处理技巧

2013年10月04日 ⁄ 综合 ⁄ 共 527字 ⁄ 字号 评论关闭

1、 获取数组元素的地址

指针和数组存在特殊的关系,很容易混淆。获取数组第一个元素的地址,可以采用两种方法,第一种采用地址运算符&来实现,第二种方法直接使用数组的名字。代码如下:

float dues[] ={11.00,58.00,45.00};
float dp1 =&dues[0]
//或者
float dp2=dues;

 

进一步讨论如何获取数组中的任何一个值的地址,一个数组地址后面跟上加号和一个整型表达式,就相当于以该整型表达式作为下标的数组元素的地址。例如:

float dues[] ={11.00,58.00,45.00}
float dp1 =&dues[2]
//或者
float dp2=dues+2;

 

2、 数组和指针的关系

数组的标识符不像一般变量的标识符,数组标识符不是左值,不能给它赋值,它只是一个进入方括号语法的手段,也是数组存储数据的起始地址。所以数组的标识符可以看做是只读的指针,而指针的内容是可以改变的。代码参考如下:

int a[10];
int *p = a;
for(int i=0;i<10;i++)
{
a[i]
=i*10;
}

上面的操作是给数据a赋初始值。

下面的操作时给数据a赋值,并把原来的数值覆盖掉。

for(int i=0;i<10;i++)
{
p[i]
=i*15;
}

抱歉!评论已关闭.