黑马程序员技术交流社区
标题:
关于指针数组
[打印本页]
作者:
aSmallStone
时间:
2015-5-16 10:26
标题:
关于指针数组
int a=1,b=2,c=3;
int *pa[3]={&a,&b,&c};
我知道pa[0]=&a
pa=&pa[0]
为什么**pa=1
作者:
香草芭芙
时间:
2015-5-16 10:50
#include <stdio.h>
int main(int argc, const char * argv[])
{
int a = 1, b = 2, c = 3;
int * pa[3] = { &a, &b, &c };
// 我知道pa[0] = &a; pa = &pa[0]
// 为什么 ** pa = 1
// 1. **pa == *(*pa)
// 2. *pa == pa[0] == &a
// 3. **pa == *(&a) == a;
// 4. **pa == a == 1;
printf("%d\n", *(*pa));
return 0;
}
复制代码
作者:
小小黑马很成器
时间:
2015-5-16 12:48
*pa就是取出指针pa所指向的内存中的变量,而 pa=&pa[0],即*pa=&a;同理 *(*pa)取出*pa所指向的内存中的变量,即为1。小的才疏学浅,希望可以帮助你理解
作者:
15578797612
时间:
2015-5-16 13:19
我简单说说看你能不能理解,pa = &pa[0], *pa = pa[0] = &a ,*pa = &a , 那**pa = a
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2