#include<stdio.h>
#include<string.h>
void g(int**);
int main()
{
int line[10],i;
int *p=line; //p 是地址的地址
for (i=0;i<10;i++)
{
*p=i;
g(&p);//数组对应的值加 1
}
for(i=0;i<10;i++)
printf("%d\n",line[i]);
return 0;
}
void g(int**p)
{
(**p)++;
(*p)++;
}
分析比较简单粗暴
&和*(取地址和指针)为了好理解可以看做是相互消除
偷懒如下:
void g(int *p)
{
(*p)++;
§++;
}
输出结果:
1
2
3
…
10