有什么区别
你能给我一些例子吗?
如果我已经将指针声明p为int *p; 主模块中,我可以改变所包含的地址p通过分配p=&a;其中a的另一个整数变量已经声明.我现在想用一个函数改变地址::
void change_adrs(int*q)
{
int *newad;
q=newad;
}
Run Code Online (Sandbox Code Playgroud)
如果我从主模块调用此函数
int main()
{
int *p;
int a=0;
p=&a; // this changes the address contained by pointer p
printf("\n The address is %u ",p);
change_adrs(p);
printf("\n the address is %u ",p); // but this doesn't change the address
return 0;
}
Run Code Online (Sandbox Code Playgroud)
地址内容不变.将功能用于同一任务有什么问题?