小蚂蚁学习C语言(18)——C语言指针——指针和下标的关系、传递数组参数的问题...

下标和指针的关系

            如果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



转载于:https://my.oschina.net/woshixiaomayi/blog/544121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值