指针与常量限定符const ©指向常量的指针:不能通过指针改变指向的 (变量)值 。const int*p=&x; ·不能写*p=10,但是可以写p=&y;x=20; )常指针:指向的变量不能改,( 变量值可改) ·int*const p=&x; ·可以写*p=10,但不能写p=&y; ©指向常量的常指针 const int *const p=&x; ·不能写p=&y,*p=20;可以写x=20; LoCCS
指针与常量限定符const 指向常量的指针:不能通过指针改变指向的 (变量)值 • const int *p=&x; • 不能写*p=10,但是可以写p=&y;x=20; 常指针:指向的变量不能改,(变量值可改) • int *const p=&x ; • 可以写*p=10,但不能写p=&y; 指向常量的常指针 • const int *const p=&x; • 不能写p=&y,*p=20;可以写x=20;
图 第7章间接访问一指针 ©指针的概念 ©指针运算与数组 ©动态内存分配 字符串再讨论 指针作为函数参数和返回值 ©指针数组与多级指针 ®指向多维数组的指针 ©指向函数的指针 司 LoCCS
第7章 间接访问—指针 指针的概念 指针运算与数组 动态内存分配 字符串再讨论 指针作为函数参数和返回值 指针数组与多级指针 指向多维数组的指针 指向函数的指针
③ 指针运算和数组 ©指向数组元素的指针 ·数组元素是一个独立的变量,因此可以有指针指向它。 如:p=&a[1],p=&a[i] ·数组元素的地址是通过数组首地址计算的。如数组的首 地址是1000,则第ⅰ个元素的地址是1000+ⅰ*每个 数组元素所占的空间长度 司 LoCCS
指针运算和数组 指向数组元素的指针 • 数组元素是一个独立的变量,因此可以有指针指向它。 如:p = &a[1], p = &a[i] • 数组元素的地址是通过数组首地址计算的。如数组的首 地址是 1000,则第i 个元素的地址是1000 + i * 每个 数组元素所占的空间长度
图 指针与数组 在C++中,指针和数组关系密切,几乎可以互 换使用 ©数组名可以看成是常量指针,对一维数组来说, 数组名是数组的起始地址,也就是第0个元素 的地址 如执行了p=array,则p与array.是等价的,对 该指针可以进行任何有关数组下标的操作 司 LoCCS
指针与数组 在C++中,指针和数组关系密切,几乎可以互 换使用 数组名可以看成是常量指针,对一维数组来说, 数组名是数组的起始地址,也就是第0个元素 的地址 如执行了p=array,则p与array是等价的,对 该指针可以进行任何有关数组下标的操作
③ 例如:有定义inta[10],*p 并且执行了p=a, 那么可用下列语句访问数组a的元素 for ,(i=0;i<10;+i) cout〈<p[i]; LoCCS
例如:有定义 int a[10], *p 并且执行了 p=a, 那么可用下列语句访问数组a的元素 for ( i=0; i<10; ++i ) cout << p[i];