zoukankan      html  css  js  c++  java
  • 指针学习系列一 基础知识

    本系列文记录我对指针的理解,从新手入门级写起,文字代码全手写,大神们发现错误请给我留言,谢谢!欢迎进一步讨论可以联系邮件tinyork@163.com

    -1- 基础知识

    1指针是一种变量类型,int*int一样,指针指向变量a是指指针的内容是变量a的地址。
    1 对比普通数据类型
    int a=1;  
    //内存腾出一块4k的空间,首地址给a(设120),a=1则将1填进这块内存
    int* b=&a;
    //内存腾出一块空间,依据指针所占内存和机子有关,首地址给b(设250),b=&a则将a那块内存的地址给b,即b这块内存里面的内容是120。
    // (120)=1,(250)=120,表示内存编号/地址为120的地方内容为1,b指向a
    int* b=new int(3);
    //内存新分配一块int的空间出来(设300),其地址是b的内容,其内容是3
    // (250)=300,(300)=3
    2链表结构
    上面的例子其实有隐蔽的地方待挖掘。。
    struct node{
        int data;
        node *next;
        node(int d=0,node *n=NULL):data(d),next(n){}
    };
    // 以下的和例1对比
     
    node *head=new node(2);
    // 内存分配两块空间出来,第一块是指针变量空间,首地址给head(250),第二块大小是struct大小,地址(260)交给head的内容
    // (250)=260,(260)=2,(260+1*4)=NULL,一个字节int大小
    node *p=new node(3);
    // 设p地址270,指向280,(270)=280,(280)=2,(280+1*4)=NULL
    head->next=p;
    // (260)(2)=270
    // 对指针变量就形成了一连串的指向:(250)=260,(264)=274,(274)=NULL

    → 书籍《
    C与指针》
       把指针变量用圆形表示,内存或其他用方块表示,这个结构给我灵感。

    下周是考试周,放假慢慢写。

  • 相关阅读:
    Testng Retry失败用例重新运行的方法(二)
    Testng Retry失败用例重新运行的方法(一)
    接口测试用例设计
    java 打印栈信息
    java 远程调试
    Java 字符串操作
    python中if __name__ == '__main__': 的解析
    Python OS模块介绍
    MAP/CAP信令常见消息
    Perl 获取当前系统时间
  • 原文地址:https://www.cnblogs.com/tinyork/p/4226690.html
Copyright © 2011-2022 走看看