confuss 发表于 2014-10-12 18:58:17

有关指向指针的指针问题

本帖最后由 confuss 于 2014-10-12 19:00 编辑



#include "stdio.h"

void changeData(int **p, int Len)
{
int temp;
//交换数组内任意两个元素的值

}

void main()
{
int i;
int **p;
int a={1,3,5,7,9};
int *num={&a,&a,&a,&a,&a};

p=num;
//changeData(p,5);

for(i=0; i<5; i++)
{
printf("%d ",**p);
p++;

}

}小白求助,正看到二级指针的问题,想实现上面哪个函数的功能,但是不知道该如何传递参数,调用以及内部实现,哪位大神帮能我看看,
十分感谢

仰望天上的光 发表于 2014-10-12 20:06:53

#include "stdio.h"
void changeData(int **p, int Len)
{      
      int temp;      
      temp = *p;
      *p = *p;
      *p = temp;
}

void main()
{      
      int i;      
      int **p;      
      int a={1,3,5,7,9};      
      int *num={&a,&a,&a,&a,&a};      
      p=num;      
      changeData(p,5);      
      for(i=0; i<5; i++)               
      {               
                printf("%d ",**p);               
                p++;               
      }      
}

confuss 发表于 2014-10-12 21:26:58

仰望天上的光 发表于 2014-10-12 20:06


谢谢了,要是这两句不写的话,不定义**p,不用指针数组该怎么实现呢?

[*]int *num={&a,&a,&a,&a,&a};
[*]p=num;

仰望天上的光 发表于 2014-10-12 22:20:23

#include "stdio.h"
void changeData(int **p, int Len)
{         
      int temp;      
      temp = (*p);
      (*p) = (*p);
      (*p) = temp;
}
void main(void)
{      
      int i;      
      int a={1,3,5,7,9};
                int *k = a;
      int **p = &k;
               
      changeData(p,5);      
      for(i=0; i<5; i++)               
      {               
                printf("%d ",(*p));                        
      }      
}

confuss 发表于 2014-10-12 22:47:14

仰望天上的光 发表于 2014-10-12 22:20


您真是大神,万分感谢

大个的糖果 发表于 2014-11-1 02:29:12

页: [1]
查看完整版本: 有关指向指针的指针问题