下标和指针的关系
如果p是个指针变量,则
p[i] 永远等价于 *(p+i)
/*
下标和指针的关系
*/
# include <stdio.h>
int main(void)
{
int a[5] = {1,2,3,4,5};
printf("%d\n", a[2]); //输出了a数组下标为2的值,即3
printf("%d\n", *(a + 2));
return 0;
}
/*
VC6.0++输出的结果为
===============================
3
3
===============================
总结:
如果p是个指针变量,则
p[i] 永远等价于 *(p+i)
*/
传递一维数组需要几个参数?
【如果一个函数要处理一个一维数组,这需要接受该数组哪些信息】
因为一维数组名是一个指针常量,它存放的是一维数组第一个元素地址,单单的把这个数组名字传递过去,函数是无法知道这个数组的结束地点的,所以,在传递数组的同时,还需要把这个数组的元素个数也一起传递过去。
需要两个参数:
数组第一个元素的地址
数组的长度
/*
为函数传递一个一维数组
*/
# include <stdio.h>
void getArr(int * p, int length)
{
int i;
for(i = 0; i < length; ++i)
{
printf("%d ",p[i]);
printf("%d \n",*(p+i));
}
}
int main(void)
{
int a[5] = {1,2,3,4,5};
getArr(a, 5);
return 0;
}
/*
VC6.0++输出的结果为
===============================
1 1
2 2
3 3
4 4
5 5
===============================
总结:
在为函数传递一个一维数组的时候,需要两个参数:
1,数组第一个元素的地址
2,数组的长度
*/
学PHP的小蚂蚁 博客 http://my.oschina.net/woshixiaomayi/blog