• C语言之指针


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

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

    1 int main()
    2 {
    3 int a=39;
    4 printf(“%d
    ”,a);    //别名
    5 printf(“%d
    ”,&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
    ",a);
    8 }

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

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

    也可以这样写

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

    指向指针的指针

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

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

    不对之处请点出

    持续更新中。

  • 相关阅读:
    sql优化的几种方法
    webService使用
    Springboot 项目pom.xml 配置文件以及启动类的一些配置
    WebSocket消息推送(群发和指定到个人)
    有n级台阶,每次爬1或者2级台阶,用程序计算有多少种爬法
    对两个字符串进行比较,取出两个字符串中一样部分的长度
    java 日志 log4j
    进制转换
    java 调用第三方动态链接库
    如何使用 OpenFileDialog 组件
  • 原文地址:https://www.cnblogs.com/zdfbk/p/4897106.html
Copyright © 2020-2023  润新知