C 指针的运算

 

  在接下来的时间里面,我们准备为大家介绍"指针的运算"。


  (1)指针的运算:经过前面的学习,我们可以了解到指针就是内存中的地址,而这个地址如果我们

     使用它进行相应的算术运算,如:加减运算,那么,就可以改变这个内存地址值,当内存地址

     的值发生改变以后,就意味着指针,指向其它的内存地址,从而,就可以实现,通过改变

     指针(即地址)中的值,来获取不同内存地址中的内容这个目的了。

     

  (2)

    例子:

     

      int a[ 2 ] = {1,2,3};  //定义了整型变量数组a,并存放了3个整型值,

                   分别是1,2,3。

 

      int *p = &a; //定义了指针变量p,并通过&运算符取出变量数组a的地址,赋给指针变量p。

             所以,就是取出了变量数组a的起始地址,通过下面的表格我们可以看到

             该起始内存地址是1000,所以,p中的值就是1000。

 

      p = p + 2;   //然后,我们使用p加上2,即使用p中的值1000+2,结果就是1002,再赋值

              给p,所以,p中的值就等于1002。

 

      int c = *p;   //然后,通过星号指向p中保存的内存地址1002,根据下面的表格,我们可以

              看到1002是数组元素a[2]的地址,而它的值是3,所以,就取出了3赋值给

              变量c,所以,c中的值等于3。

 

    

变量数组a 内存地址 变量值
a[0] 1000
a[1] 1001
a[2] 1002 3

 

 

 

 

 

 

  小结:

  (1)指针变量中的地址值可以进行算述运算来改变它的值,从而,实现将指针指向其它的内存地址。

  (2)当指针变量指向一个数组时,可以通过改变指针变量中的地址来指向数组中不同的元素。

 

 

 

   非常好,现在,我们已经掌握了C中的“指针的运算”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用该知识点去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

      不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练