指针的指针
来源:互联网 发布:吉他软件finger 编辑:程序博客网 时间:2024/05/16 18:38
指针和普通变量其实都一样, 只不过指针存储内容是地址,即数字, 而普通变量存储的内容是自己放置的值, 如int i; i = 1; 这时候, i 放置的 值 是 1; 而定义一个指针int *p ;
如果你真的知道某个变量的数字地址,那么你可以街样写,例如街个地址值是0x00000015,
那么指针可以街样赋值p = 0x00000015;但是地址一般都是透明的,你无法看得到一个变量地址是多少,只能通过&符号去获取变量的内存地址,如变量a的地址是&a.
其实,指针也是地址和内容组成的,通常使用的是一级指针,如定义一个一级指针int*p1;
定义一个二级指针int **p2; 有多少个*就代表多少级。而p2要获得p1的地址和平常操作一样,即p2=&p1;
这个*符号有几种意思的,其中有两种意思,*(如*p)是根据得知的地址访问变量存储内容,而(type *)(如int *p),是定义指针.。下面有个例子
int a = 1;
int *p = &a;
int **pp = &p;
*p的值大家都知道是1,那么**pp的值是什么呢?呵呵,同样也是1,那么我们来分析下为什么是1?
上面说过 *其中有“根据得知的地址访问变量存储内容”的意思。
**pp 其实是这样写的:*(*pp),可以省略。
*(*pp)到底是啥? 画个图一目了然,
其实,按推理可知道,
* x ,就代表 x所存储地址的内容,
那么 *pp 意思就是 p的地址的内容,内容是a地址
*(*pp) 其实是 *(a地址), 那么a的地址的内容是1,也就是说*(*pp) = =1,
即 **pp ==1。
其实 指针并不难理解,画一个图后,一目了然,不管是多少级的指针。
- 数组指针, 指针的指针
- 变量 指针 指针的指针
- 指针和指针的指针
- 体会指针,指针的指针
- 指针与指针的指针
- 指针和指针的指针
- 指针 指针的引用 指针的指针
- 指针的指针 数组指针 指针数组
- 指针的指针
- 指向指针的指针
- 指针的指针
- 指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针 **
- 指针的指针
- 指向指针的指针
- 指向指针的指针
- 终端 vi 命令
- GCD dispatch_semaphore
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- linux下文件描述符的介绍
- 为mysql数据库建立索引
- 指针的指针
- ORA-29275:部分多字节字符
- SRAM的简单概念
- 研大考研专注于医学考研
- C++ 长方体继承自矩形
- EditPlus等编辑器选中列(块)的方法
- df: `/root/.gvfs': Permission denied
- spring+mysql架构中数据库乱码问题
- OpenWRT系统MT7620N芯片的无线BSSID问题