指针 数组问题
											 程序代码:
程序代码:# include <stdio.h>
void copy_arr(double ar_s[], double ar_t[], int size);
void copy_ptr(double pt_s[], double pt_t[], int size);
void print(double n[], int size);
int main (void)
{
    double source[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
    double target1[5];
    double target2[5];
    copy_arr(source, target1, 5);
    copy_ptr(source, target2, 5);
    print(target1, 5);
    print(target2, 5 );
    return 0;
}
void copy_arr(double ar_s[], double ar_t[], int size)
{
    int i;
    for (i=0; i<size; ++i)
        ar_t[i] = ar_s[i];        //为什么只要这一句,target1就得到赋值!!!
}
void copy_ptr(double pt_s[], double pt_t[], int size)
{
    double *ptr;
    int i;
    for (i=0,ptr=pt_s; i<size; ++i, ++ptr)
        pt_t[i] = *ptr;
}
void print(double n[], int size)
{
    int i;
    for (i=0; i<size; ++i)
        printf ("%5.1lf", n[i]);
    printf ("\n");
}这是一道c primer plus 5th 的一道题,第十章。为什么copy_arr函数能够给target1赋值,不是说函数赋值要return的吗?还是因为,发送的是数组地址。



 
											





 
	    

 
	