指针与二级指针

来源:互联网 发布:苹果特效相机软件 编辑:程序博客网 时间:2024/06/03 21:34

在如下的A指向B、B指向C的指向关系中:
首先
C是”一段内容”,比如你用malloc或者new分配了一块内存,然后塞进去”一段内容”,那就是C了。C的起始地址是0x00000008。

B是一个指针变量,其中存放着C的地址,但是B也要占空间的啊,所以B也有地址,B的起始地址是0x00000004,但是B内存中存放的是C的地址,所以B里面的内容就是0x00000008。
那么到此为止都比较好理解:

B= 0x00000008; //B的内容 ,即C的地址
*B = “一段内容”; //取B中的内容(C的地址)的值,也就是B指针指向的C的值
&B = 0x00000004; //B取地址,B的地址是0x00000004

那么,再来看A:

A是二级指针变量,其中存放着B的地址0x00000004,A也有地址,是0x00000000;

*A = B= 0x00000008; //B的内容
**A = *B = “一段内容”; //B指针指向的C的值
A = &B = 0x00000004; //A存的是B的地址,B的地址是0x00000004
&A = 0x00000000; //A取地址

原文地址:http://blog.csdn.net/majianfei1023/article/details/46629065

原创粉丝点击