分享

C语言-指针

 经纬之略 2015-08-16

指针能解决的问题:

①复杂的数据结构

②动态分配内存

③使用字符串

④使用数组

⑤调用函数

⑥直接处理内存地址

主要用于设计系统软件

为了更好地理解和掌握指针,我们先来看两个生活中的例子:
      1.放寒假了,我想把行李箱暂时寄存在A同学家,我知道A同学家的地址,找到A同学家,把行李箱寄存在他的房间里。

     2.假如我知道B同学家地址却不知道A同学的地址,但是B同学知道A同学家的地址,就先去B同学家,A同学家的地址在B同学房间的记事本上。于是我通过B同学家地址间接地找到A同学家地址,把行李箱寄存在他的房间里。
      上面两个例子,非常简单,也容易理解,那么它们在内存中是如何表示的呢?
     1. A同学家------变量名

        A同学家住宅地址----变量内存地址 
         行李箱----内存单元存放的内容(A同学的房间里). 

 

       2.B同学家------变量名

          B同学住宅地址-----变量名地址内存

         A同学家地址-----变量名B同学的内存单元存放的内容(指向A同学房间里内存单元行李箱)。


     我们进一步简化:
    1.变量A,A的地址,A内存单元     (房间里存储的行李箱)
       记作:A="行李箱”

    2.变量B,B的地址 ,B内存单元(存储的A地址)→(  A内存单元存储的房间里的行李箱)

       记作:B=A地址→"行李箱"。
    总结:1.把通过变量A地址存取变量值的方式称为直接访问方式。
                A(地址)="行李箱”

              2.把变量A的地址通过存放在变量B的内存单元中来获取存取变量值的方式称为间接访问。        B(内存单元)=A地址→"行李箱"  
     重点:这种间接访问方式,在C语言是这样描述的:变量B指向变量A。

    从上面的第2个例子间接访问式引申出这一节我们要学习的指针。
    那么什么是指针?在C语言中,将地址形象化地称为指针。意思就是通过它能找到以它为地址的内存单元。上例2中,变量B的地址就称为该变量B的指针。而变量B称为指针变量。
    重点:1.指针:一个变量的地址称为该变量的指针
              2.指针变量:一个变量存放另一个变量的地址(指针)称该变量为指针变量。指针变量的值是指针(地址)。

重点区分变量的指针指向变量的指针变量
                变量的指针
就是变量的地址。存放变量地址的变量是指针变量,它指向其值(地址)所对应的变量。

 
  定义指针变量的形式基类型   *指针变量
  
  指针变量的引用牢记:指针变量存放的是地址(指针)。
   它有两个运算符:1.&取地址符  2.*指针运算符(或称"间接访问"运算符)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多