当前位置:天才代写 > tutorial > C语言/C++ 教程 > C语言基本教程(四)指针、布局、连系和列举(4)

C语言基本教程(四)指针、布局、连系和列举(4)

2017-11-03 08:00 星期五 所属: C语言/C++ 教程 浏览:475

2.1.指向数组元素的指针
我们界说一个整型数组和一个指向整型的指针变量:
int a[10], *p;
和前面先容过的要领沟通,可以使整型指针p指向数组中任何一个元素,假定给出赋值运算
p=&a[0];
此时,p指向数组中的第0号元素,即a[0],指针变量p中包括了数组元素a[0]的地点,由于数组元素在内存中是持续存放的,因此,我们就可以通过指针变量p及其有关运算间接会见数组中的任何一个元素。
Turbo C中,数组名是数组的第0号元素的地点,因此下面两个语句是等价的
p=&a[0];
p=a;
按照地点运算法则,a+1为a[1]的地点,a+i就为a[i]的地点。
下面我们用指针给出数组元素的地点和内容的几种暗示形式。
(1).p+i和a+i均暗示a[i]的地点,可能讲,它们均指向数组第i号元素,即指向a[i]。
(2).*(p+i)和*(a+i)都暗示p+i和a+i所指工具的内容,即为a[i]。
(3).指向数组元素的指针,也可以暗示成数组的形式,也就是说,它答允指针变量带下标,如p[i]与*(p+i)等价。
假使:p=a+5;
则p[2]就相当于*(p+2),由于p指向a[5],所以p[2]就相当于a[7]。而p[-3]就相当于*(p-3),它暗示a[2]。

 

    关键字:

天才代写-代写联系方式