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与指针》
       把指针变量用圆形表示,内存或其他用方块表示,这个结构给我灵感。

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

  • 相关阅读:
    POJ 1953 World Cup Noise
    POJ 1995 Raising Modulo Numbers (快速幂取余)
    poj 1256 Anagram
    POJ 1218 THE DRUNK JAILER
    POJ 1316 Self Numbers
    POJ 1663 Number Steps
    POJ 1664 放苹果
    如何查看DIV被设置什么CSS样式
    独行DIV自适应宽度布局CSS实例与扩大应用范围
    python 从入门到精通教程一:[1]Hello,world!
  • 原文地址:https://www.cnblogs.com/tinyork/p/4226690.html
Copyright © 2011-2022 走看看