C语言之指针

自我感觉有点错误,这篇文章勿看。大神的话就看看吧,帮我点评点评哪里错了。

内存只不过是一个存放数据的空间,你可以想象成一个大的旅馆里面,有很多小房间,每个小房间里都可以放一些数据,电脑就是你的工人,有一天你要存入一些数据,你说“int a = 1”,工人就找了一个空的房间,把东西放进去,并给那个房间取了个别名a,为什么叫别名为a,因为那个房间号很长很长,有10几位数那么长,所以给它一个简单易记得名字。问题来了,如果你兴趣来潮的想要知道那个房间号呢?&a工人就能帮你找到。

1 int main()
2 {
3 int a=39;
4 printf(“%d\n”,a);    //别名
5 printf(“%d\n”,&a);  //房间号
6 }

快点试试吧,看看第二句输出了什么。

 

有一个人叫a,另外一个人叫pa,a是城里人,pa是原始人,a住在一个叫a的房间里,里面放着生活用品‘10’,pa住进来了(pa = &a),他说这个a房间也属于我,你叫这个房间a我不管,我就叫他pa,现在起这个房间有两个名字了。pa不认识‘10’,pa想把‘10’换了,又不可能说:“我要把那个10换成20(10=20)X”,所以他只能这么说“我要把这个房间里的东西换成20(*pa = 20)

1 void main()
2 {
3     int *pa;  //char也行
4     int a = 10;
5     pa = &a;
6     *pa = 20;
7     printf("%d\n",a);
8 }

能看出a最后输出的是什么吗?

不要复制张贴打一遍,或许你就容易懂了。

也可以这样写

1 void main()
2 {
3     int a = 10;
4     int *pa = &a;
5     int *pa = 20;
6     printf("%d\n",a);    
7 }

 

 

指向指针的指针

short int **pii=30;//也可以简写成short **pii=30;

short int和int等一样,是一种内部数据类型,用于表示有符号整数。不过short int占用两个字节,int占用4个字节。

 

不对之处请点出

持续更新中。

 

 

 

posted on 2015-10-21 10:32  Zing_Z  阅读(335)  评论(2编辑  收藏  举报

导航