C 数组指针与指向数组的指针变量


  1、

     数组指针———数组在内存中的起始地址就是数组指针。

 

    指向数组的指针变量——用于存放数组在内存中的起始地址的变量。

 

 

   2、例子:

  

       int  a[2] ={1,2};   

       int *p=a;

       

   
变量 地址 内存用户数据区
a[0] 1000 1

a[1]

1001 2
  1002  
  1003  

 

     

 

 

 

 

 

   例子分析:

    (1)首先,在程序上,我们是定义了一个整形数组a并赋值1和2。而实际上,数组a会被分配一个连续的内存存储空间,用于存放它的值1和2,而每个内存的存储空间有一个起始地址,通过上面的表格,我们可以看到这个起始地址是1000,所以,数组a中的第1个元素1就是存放在内存中地址为1000这个位置中,而第2个元素2就存放在1001这个位置中。

    (2)在第二行代码中,我们再定义了一个指针变量p,然后,把数组a赋值给p,这种操作就是将数组a在内存中的起始地址1000赋给指针变量p,从而,指针变量p就指向了1000这个地址。

        

 

   3、指针向数组元素的指针

 

    例子:

       int  a[2] ={1,2};   

       int *p=&a[1];

 

    通过上面的例子,我们可以看到将数组a 中的1号元素的地址赋给指针变量p,根据上面的表格,1号元素的地址是1001,所以,指针变量p就指向了1001这个地址。

 

 

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

 

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

 

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

进入游戏学习与训练