zoukankan      html  css  js  c++  java
  • 指针的浅谈用于初学者

    指针的浅谈

    写的比较简单,适用于初学者

    变量储存

     我们思考一下电脑是怎么进行存储的?
     
     如何将一个变量存储
     
     显然的回答就是把内存条的一段去储存这样的01串 (01010101010),用这样的01串去表示某个变量
     
     现在就存在一个问题,我怎么知道那一段内存是空闲的呢?可以让我有机会去插入一系列01串去代表某个量呢?
     
     因为内存条它是一个线性结构  而不是环形的   那么如果我知道开始位置,就可以往后面插东西了
     
    于是应用了两个符号   
    &(地址符):  &A 即表示 A这个变量所在的起始位置
    *(取址符):  *A 表示在内存条上A位置变量是什么
    
    例如  
    内存条从(1---26)的位置上分别存储的变量是(a,b,c---z)
    那么  
    1就是a的储存地址  a就是1这个存储地址所表示的变量;   
    2就是b的储存地址  b就是2这个存储地址所表示的变量;
    所以
    &a=1; *1=a;
    &b=2; *2=b;
    

    指针是什么

    那么什么是指针呢?
    
    普通变量是用来储存一些值(比如整数、小数、字符。。。。。)的东西
    
    指针变量则是用来储存内存条地址的东西
    
    我们可以通过 *(取址符)获得这个指针变量所存储的普通变量的值
    
    例如
        int * A;  此时A存的就是一个地址   
        A=(内存条上的某个地址)
        *A=(内存条上的某个地址 所存的普通变量)
        
        小思考?
        &A是什么呢?
        
        
        因为A本质上也是一个变量,他也会在内存条上有储存的地址  
        所以&A那个二重地址。
  • 相关阅读:
    POJ2001Shortest Prefixes[Trie]
    UVA
    POJ2528Mayor's posters[线段树 离散化]
    COGS130. [USACO Mar08] 游荡的奶牛[DP]
    POJ1962Corporative Network[带权并查集]
    BZOJ1798: [Ahoi2009]Seq 维护序列seq[线段树]
    洛谷U4859matrix[单调栈]
    COGS247. 售票系统[线段树 RMQ]
    COGS1008. 贪婪大陆[树状数组 模型转换]
    COGS182 [USACO Jan07] 均衡队形[RMQ]
  • 原文地址:https://www.cnblogs.com/HQHQ/p/10945243.html
Copyright © 2011-2022 走看看