C 通过指针引用数组元素
1、通过指针引用数组元素——通过改变指针的值来获取数组中的元素。
2、例子:
int a[2] ={1,2,3};
int *p=a;
void main()
{
p=p+2;
*p;
}
变量 | 地址 | 内存用户数据区 |
---|---|---|
a[0] | 1000 | 1 |
a[1] |
1001 | 2 |
a[2] | 1002 | 3 |
1003 |
例子分析:
(1)首先,在程序上,我们是定义了一个整形数组a并赋值1、2、3。而实际上,数组a会被分配一个连续的内存存储空间,用于存放它的值1、2、3,而每个数组在内存中都有一个起始地址,通过上面的表格,我们可以看到这个起始地址是1000,所以,数组a中的第1个元素1就是存放在内存中地址为1000这个位置中,而第2个元素2就存放在1001这个位置中,如些类推。
(2)在第二行代码中,我们再定义了一个指针变量p,然后,把数组a赋值给p,这种操作就是将数组a在内存中的起始地址1000赋给指针变量p,从而,指针变量p就指向了1000这个地址。
(3)接着,在main函数中,我们使用指向数组的指针变量p加上2,而目前p中的值是数组a的起始地址即1000,所以,就是1000+2结果等于1002,然后,再使用“指针运算符”*取出地址为1002中的值3,所以,通过改变指针变量中的值,就可以获取数组中不同的元素了。
非常好,现在,我们已经掌握了C中的“通过指针引用数组元素”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“通过指针引用数组元素”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)