4-数组、指针与字符串1.2

网友投稿 591 2022-10-18

4-数组、指针与字符串1.2

4-数组、指针与字符串1.2

指针

动态内存分配和管理离不开指针。

1、内存空间的访问方式

在c++中程序如何利用内存单元存取数据?有两种方式:变量名和地址。

指针变量永不存放内存单元地址的。

数据类型 *标识符;

所有指针的值都是默认是unsigned long int 型。

指针可以指向各种类型,包括基本类型、数组(数组元素)、函数、对象、同样可以指向指针。

3、与地址相关的运算----"*"和"&"

“*”称为指针运算符(也称为解析),表示获取指针所指向的变量的值。

“&”称为取地址运算符,

4、指针的赋值

赋初值有两种方法:

存储类型  数据类型 *指针名=初始地址;

指针名=地址;

关于指针的类型,还应该注意以下几点:

const char *name1="John";

char s[]="abc";

name1=s;//正确

*name1='1';//编译时指出错误

char * const name2="john";

name2="abc";//错误,name2是指针常量,值不能改变。

c、一般情况下,指针的值只能赋给相同类型的指针。但是有一种特殊的void类型指针,可以存储任何类型的对象地址,就是说任何类型的指针都可以赋值给void类型的指针变量。

5、指针运算

int *p;

p=0;//可以避免误用指针p

6、用指针处理数组元素

7、指针数组

类型名 *数组名[下标表达式]

8、指针型函数

数据类型  *函数名(参数表)

{

函数体

}

9、指向函数的指针

数据类型 (*函数指针名)(形参表)

函数指针在使用之前也要进行赋值,使指针指向一个已经存在的函数代码的起始地址,一般语法为:

函数指针名=函数名;

10、对象指针

a、对象指针的一般概念

对象所占据的内存空间只是用于存放数据成员的,函数成员不在每一个对象中存储副本。对象指针就是用于存放对象地址的变量。对象指针遵循一般变量指针的各种规则,一般语法形式如下:

类名 *对象指针名;

eg:

p_Point=&p1;//将对象p1的地址赋给p_Point,使p_Point指向p1

访问对象成员的语法形式如下,

对象指针名->成员名

#includeusing namespace std;class Point{public:  Point(int xx=0,int yy=0){X=xx;Y=yy;}//构造函数  int GetX(){return X;}//内联函数,返回X  int GetY(){return Y;}//内联函数,返回Yprivate:  int X,Y;}int main(){  Point A(4,5);  Point *p1;  p1=&A;  cout<GetX()<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Part3_lesson3---ARM伪指令学习
下一篇:线程池中execute与submit的区别说明
相关文章

 发表评论

暂时没有评论,来抢沙发吧~