《C++大学教程》2007.9 指针运算和数组 ?指向数组元素的指针 >数组元素是一个独立的变量,因此可以有指针 指向它。如:p=&a1],p=&ai] >数组元素的地址是通过数组首地址计算的。如 数组的首地址是1000,则第i个元素的地址是 1000+i*每个数组元素所占的空间长度
《C++大学教程》 2007.9 v 指向数组元素的指针 Ø数组元素是一个独立的变量,因此可以有指针 指向它。如:p = &a[1], p = &a[i] Ø数组元素的地址是通过数组首地址计算的。如 数组的首地址是 1000,则第i 个元素的地址是 1000 + i * 每个数组元素所占的空间长度
《C++大学教程》2007.9 指针与数组 在C中,指针和数组关系密切,几平可以互换 使用 数组名可以看成是常量指针,对一维数组来 说,数组名是数组的起始地址,也就是第0个 元素的地址 如执行了p=array,则和与array[0]是等价的, 对该指针可以进行任何有关数组下标的操作
《C++大学教程》 2007.9 v 在C中,指针和数组关系密切,几乎可以互换 使用 v 数组名可以看成是常量指针,对一维数组来 说,数组名是数组的起始地址,也就是第0个 元素的地址 v 如执行了p=array,则*p与array[0]是等价的, 对该指针可以进行任何有关数组下标的操作
《C++大学教程》2007.9 例如:有定义inta[10],*p 并且执行了p=a, 那么可用下列语句访问数组a的元素 for(i=0;i<10;+i) cout <p[i];
《C++大学教程》 2007.9 例如:有定义 int a[10], *p 并且执行了 p=a, 那么可用下列语句访问数组a的元素 for ( i=0; i<10; ++i ) cout << p[i];
《C++大学教程》2007.9 指针运算 指针可以进行各种算术运算,但仅有加减运算是有 意义的。指针运算与数组有密切的关系 指针+1表示数组中指针指向元素的下一元素 地址; 指针-1表示数组中指针指向元素的上一元素地 址; 合法的指针操作:p+k,p-k,p1-p2
《C++大学教程》 2007.9 v 指针+1表示数组中指针指向元素的下一元素 地址; v 指针-1表示数组中指针指向元素的上一元素地 址; v 合法的指针操作:p + k, p - k, p1 - p2 指针可以进行各种算术运算,但仅有加减运算是有 意义的。指针运算与数组有密切的关系
《C++大学教程》2007.9 数组元素的指针表示 当把数组名,如intarray,赋给了一个同类指针 intp后,intarray的元素可以通过intp访问。第i 个元素的地址可表示为itp+i,第i个元素的值 可表示为*(intp+i)。 通过指针访问数组时,下标有效范围由程序员 自己检查。 如输出数组a的十个元素
《C++大学教程》 2007.9 v 当把数组名,如 intarray,赋给了一个同类指针 intp 后,intarray 的元素可以通过intp访问。第i 个元素的地址可表示为 intp + i,第i个元素的值 可表示为 *(intp + i)。 v 通过指针访问数组时,下标有效范围由程序员 自己检查。 v 如输出数组 a 的十个元素