天马行空工作室

 找回密码
 加入天马
搜索
查看: 2445|回复: 5

懂的解释下代码~

[复制链接]
发表于 2012-2-17 20:30:38 | 显示全部楼层 |阅读模式
_______________________
#include<stdio.h>

int main (void)
{
    int i = 10;
    int *p = &i;
    int **q = &p;
    int ***r = &q;

    return 0;
}
_________________________

int i = 10;
    int *p = &i;
    int **q = &p;
    int ***r = &q;


求解释

 楼主| 发表于 2012-2-17 20:37:22 | 显示全部楼层
求指导~
发表于 2012-2-17 22:20:12 | 显示全部楼层
哈哈 , 指针啊, 小case啊
发表于 2012-2-17 22:20:45 | 显示全部楼层
哈哈 , 指针啊, 小case啊
发表于 2012-2-17 22:32:16 | 显示全部楼层
一级指针p存i 的地址,二级指针q存p的地址,三级地址r存q的地址,  通过指针可以修改i 的值

点评

哈哈, 没事, 懂的就告诉你, 嘿嘿  发表于 2012-2-18 18:44
这下明白些了 谢谢了~  发表于 2012-2-18 18:05
发表于 2012-3-20 09:56:32 | 显示全部楼层
int i = 10;
整型变量 i
int *p = &i;
    &是取地址运算符,&i的意思是取 i  变量在内存中的地址int * 表示指向整型变量的指针,只能指向整型变量,另外还是char * 字节型指针,float * 单精度浮点型指针等等。p=&i 的意思是将i变量的地址赋值给指针p
int **q = &p;
    int ** 表示指向 指向整型变量指针的指针。有点绕口,简单的说就是指向一个指针的指针。指针也是变量和普通的变量一样也是有地址的,不过指针变量和普通的变量不同的是,指针变量只能存放地址。例如整型变量里面可以存放整型数据而整型指针里面只能存放整型变量的地址,就像 p=&i 。但是p=78,这就是错误的。而int ** 所定义的变量里面只能存放指针的地址,而且是整型指针。你可以说它是二级指针
    int ***r = &q;
    以此类推,int***  表示指向二级指针的指针,也就是说三级指针

您需要登录后才可以回帖 登录 | 加入天马

本版积分规则

Archiver|手机版|小黑屋|天马行空工作室 ( 京ICP备12003429号  

GMT+8, 2019-9-19 12:51 , Processed in 1.249194 second(s), 19 queries .

Powered by Discuz! v8

© 2010-2014 懂的解释下代码~ - C\C++ 天马行空工作室

快速回复 返回顶部 返回列表