有关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)++;
    }
}

结果:

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

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

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

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632