wood-yang 2021-05-28 10:59 采纳率: 0%
浏览 33

有关c语言指针的两个问题

1.int (* pz)[2]  和  int * pax[2]   (即数组的指针和指针的数组)是否是类似的?pz可以指向数组首元素地址的地址,pax可以分别指向两个一维数组的首元素。

2.这一段代码为什么形参ptr++后,其值(即地址)表明其指向的值未被初始化?
 

void copy_ptr(double **,  int n);

double sourse[2][2] = {1.99, 2.2, 3.3, 4.4};
double * pt = sourse[0];


copy_ptr(&pt, 4);

void copy_ptr(double ** ptr, int length)
{
    int i;

    for (i = 0; i < length; i++)
    {
        printf("*ptr = %p\n", *ptr);
        (*ptr)++;
    }
}

结果:

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-05-28 11:07
    关注

    你这文不对题的。MAX是几?

    double *pt = sourse2[0]; 这句咋理解啊,sourse2从哪来的?

    最后你的输出明显不是这个代码产生的,输出里是*ptr1,这个1从哪来的呢?

    评论

报告相同问题?