一个简单小程序带你认识数组与指针

编写程序,初始化一个double类型的数组,然后将该数组内容拷贝至3个其他数组中。其中,目标数组1(target1[])使用数组表示法的函数,target2[]和target3[]使用指针。

#include<stdio.h>
void copy_arr(double target1[], double source[], int n);
void copy_ptr(double* target2, double* source, int n);
void copy_ptrs(double* target3, double* source, double* p);
void show(double target[]);
int main(void)
{
	double source[5] = { 1.1,2.2,3.3,4.4,5.5 };
	double target1[5];
	double target2[5];
	double target3[5];
	double* p;

	copy_arr(target1,source,5);
	copy_ptr(target2,source,5);
	copy_ptrs(target3, source, source+5);

	show(target1);
	show(target2);
	show(target3);

	return 0;
}

void copy_arr(double target1[], double source[], int n)
{
	for (int i = 0;i < n;i++)
	{
		target1[i] = source[i];
	}
}

void copy_ptr(double* target2, double* source, int n)
{
	while (n) {
		*target2 = *source;
		target2++;
		source++;
		n--;
	}
}

void copy_ptrs(double* target3, double* source, double* p)
{
	while (source<p)
	{
		*target3 = *source;
		target3++;
		source++;
	}
}

void show(double target[])
{
	for (int i = 0;i < 5;i++) {
		printf("%.1f\t", target[i]);
	}
	printf("\n");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值