正在加载图片...
tI=pt2 (3)、把一个数组的地址赋予一个指向相同数据类型的指针,如: char faculty[20], *pf; (4)、将一个指针的地址进行一定的位置偏离后将其值赋予指向相同数据类型的指针 unsigned *ptl, pt2, *pt3 pt2=pt1+2 至于为指针所指向的对象赋值,则基本与一般变量的赋值相同。它们之间的唯一区别是: 为了取得指针所指向的变量,必须使用取值操作符“*”。将“*”作用在指针变量上,并将 这一整体当作一个相应数据类型的变量看待,则可按正常变量的读写规则对该对象进行读 int val=512 int*pt=&val 3.2.3指针与数组的关系 数组和指针之间具有十分密切的关系,它们都可以处理内存中连续存放的一系列数据, 且数组和指针在访问内存时,采用同一的地址计算方法。在某些场合,数组和指针甚到可以 互换使用 对数组元素的访问采用数组名与下标相结合的办法 double weight[20); //define weight[20=20.0 数组名实际上是一个存放数组首元素地址的指针。可以利用该指针来实现对数组元素的 访问。如上例中以下表达式是等价的 等价于 weigh[o] weight+2 weight[ 2: 在使用时,一般用户会觉得采用下标进行访问更自然和直观些,而在对数组元素进行连 续访问时,利用指针访问具有更快的速度。因此要合理地选择。 虽然指针和数组名在引用数组元素和获取数组及其某元素的地址时是可以互换的,但在 用于指向某一块连续内存空间时,还是有区别的。数组名是不能赋值的(即在其生存期不能 改变)。 3.2.4指针与字符串 在数组一节中已经对用字符数组来表示字符串进行了讨论,本节讨论如何用指针表示字 符串。 由于字符串趋于严格地逐一访问的形式,因此许多字符串操作通常使用指针和指针运算 来实现。 在用指针表示字符串时,字符串的结尾以空字符(NUL)为标志(编译器可以自动添 加)。在显示时是从该指针所指地址到其后第一个空字符之间的字符 例如3.3利用指针表示字符串,并进行显示。 /EX3 3. cpppt1=pt2; (3)、把一个数组的地址赋予一个指向相同数据类型的指针,如: char faculty[20],*pf; pf=faaculty; (4)、将一个指针的地址进行一定的位置偏离后将其值赋予指向相同数据类型的指针, 如: unsigned *pt1,pt2,*pt3; pt2=pt1+2; 至于为指针所指向的对象赋值,则基本与一般变量的赋值相同。它们之间的唯一区别是: 为了取得指针所指向的变量,必须使用取值操作符“*”。将“*”作用在指针变量上,并将 这一整体当作一个相应数据类型的变量看待,则可按正常变量的读写规则对该对象进行读 写。如: int val=512; int *pt=&val; *pt=128; 3.2.3 指针与数组的关系 数组和指针之间具有十分密切的关系,它们都可以处理内存中连续存放的一系列数据, 且数组和指针在访问内存时,采用同一的地址计算方法。在某些场合,数组和指针甚到可以 互换使用。 对数组元素的访问采用数组名与下标相结合的办法。如 double weight[20];//define weight[20]=20.0; 数组名实际上是一个存放数组首元素地址的指针。可以利用该指针来实现对数组元素的 访问。如上例中以下表达式是等价的: weight 等价于 weight[0]; weight+2 weight[2]; 在使用时,一般用户会觉得采用下标进行访问更自然和直观些,而在对数组元素进行连 续访问时,利用指针访问具有更快的速度。因此要合理地选择。 虽然指针和数组名在引用数组元素和获取数组及其某元素的地址时是可以互换的,但在 用于指向某一块连续内存空间时,还是有区别的。数组名是不能赋值的(即在其生存期不能 改变)。 3.2.4 指针与字符串 在数组一节中已经对用字符数组来表示字符串进行了讨论,本节讨论如何用指针表示字 符串。 由于字符串趋于严格地逐一访问的形式,因此许多字符串操作通常使用指针和指针运算 来实现。 在用指针表示字符串时,字符串的结尾以空字符(NULL)为标志(编译器可以自动添 加)。在显示时是从该指针所指地址到其后第一个空字符之间的字符。 [例如 3.3] 利用指针表示字符串,并进行显示。 //EX3_3.cpp
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有