数据结构_P4

# include <stdio.h>
/*
	用指针输出数组元素
	自己写的函数是Array, 老师的是Array1
	2016年6月1日13:28:52
*/ 

void Show_Array1(int *p)    //a的地址传递给了p指针变量,*p代表a[0];因此p现在是数组第一个元素的地址
{
	for(int i=0; i<5;i++)
	printf("%d\n", *(p+i));    //输出数组每个数值
						    //注意!!    *p == p[0] == a[0] ; *(p+i) = p[i] = a[i]
/*
所以这里才是重点:应该这样写 
		for(int i=0; i<5; i++)
		printf("%d\n", p[i]);     //以后数组形参传递就这样写,f(a),void f(int *p),则p[i] == a[i];
*/
}

void Show_Array(int a[])    //自己写的这个欠妥,因为形参不是数组,而是a地址的传递
{

	for(int i=0; i<5; i++) //这里的5是数组中元素的个数,那么怎么求数组中元素的个数呢?不能用sizeof   
                           //元素个数 = sizeof(a)/sizeof(int)
	{
		printf("%d\n",a[i]);
	}
}

int main(void)
{
	int a[5] = {1,2,3,4,5};
//	Show_Array(a);     //这里注意:a是地址值 ==等价于 &a[0],所以传递给形参时可以直接int a[];
	                  //而更本质的传递形参应该是指针!  a ==>(int *p):p指向a[] 
	Show_Array1(a);
//	int y = sizeof(a)/sizeof(int);
//	printf("%d\n", y);        //结果符合预料, y == 5,计算数组元素个数这么计算

	//	printf("%d\n", sizeof(a));//其表示变量所占字节长度:sizeof(a) == sizeof(int*5)==20
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值