#include <stdio.h>
void copy_arr(double target[], double* source, int range);
void copy_ptr(double* target2, double* source, int range);
void copy_ptrs(double* target3, double* source, int differ);
int main()
{
double source[5] = { 1.1, 2.2, 3.3, 4.4, 5.5 };
double target1[5];
double target2[5];
double target3[5];
copy_arr(target1, source, 5);
copy_ptr(target2, source, 5);
copy_ptrs(target3, source, source + 5);
printf("%g\n%g\n%g\n%g", source[4], target1[4], target2[4], target3[4]);
return 0;
}
void copy_arr(double target1[], double* source, int range)
{
int index;
for (index = 0; index < range; index++)
target1[index] = source[index];
return;
}
void copy_ptr(double* target2, double* source, int range)
{
int index;
for (index = 0; index < range; index++)
*(target2 + index) = *(source + index);
return;
}
void copy_ptrs(double* target3, double* source, int differ)
{
while (source < differ)
{
*target3 = *source;
target3++;
source++;
}
return;
}
测试样例⬆