指针的指针
回顾了大半天儿的指针,这段程序可以很清楚的表达指针以及指针的指针了
1 int main(void)
2 {
3 int i = 100;
4 int *pi = &i;
5 int **ppi = π
6
7 printf("i: %d |&i %p |pi: %p |&pi %p |*pi:%d |&*pi: %p \n",i,&i,pi,&pi,*pi,&*pi);
8 printf("ppi %p | *ppi %p | **ppi %d \n",ppi,*ppi,**ppi);
9
10 return 0;
11 }
gcc -std=c99 test.c -o test
./test
编译执行后:
i: 100 |&i 0x7ffff1a38dac |pi: 0x7ffff1a38dac |&pi 0x7ffff1a38d98 |*pi:100 |&*pi: 0x7ffff1a38dac
ppi 0x7ffff1a38d98 | *ppi 0x7ffff1a38dac | **ppi 100
思考:pi 与 &*pi 打印出的内容相同,但是其中的味道却大有不同 :-) 为什么呢?
posted on 2011-11-23 15:44 I'm legend 阅读(384) 评论(0) 编辑 收藏 举报