我试图将指针传递给函数但是当我在函数中打印它时,它会修改来自另一个函数的数据。请看我的代码:
void funct(int *p){
int a=0;
int b=0;
puts("------Fucnt--------");
printf("this is p %p\n",p);
printf("this is *p %d\n",*p);
}
int * getarray(){
int A[] = {1,2,3,4,5};
int *ptr;
ptr = A;
puts("++++++++++getarray+++++++++");
printf("this is *ptr %d\n",*ptr);
return ptr;
}
int main() {
int *p;
p=getarray();
puts("*******main******");
printf("this is *p %d\n",*p);
printf("this is p %p\n",p);
funct(p);
return 0;
}
这是控制台输出:
++++++++++getarray+++++
this is *ptr 1
*******main******
this is *p 1993969290
this is p 0028fec8
------Fucnt--------
this is p 0028fec8
this is *p 2686712
由于