C++中的指针初始化

C++中的指针初始化C++中定义一个指针的时候,例如int*p。可以认为定义了两个内容,1:指针,2:指针的指向。需要对指针本身和指针的指向都进行初始化,既要初始化内存地址,也要定义内存中的内容。如果不进行指针的初始化,则内存地址随机分配。格根据编译器的不同,会出现警告或者报错不同等级的问题,在编译中也可能出现难以察觉的bug。指针的初始化时等号左右两端都必须是内存地址。例如inta;int…

大家好,欢迎来到IT知识分享网。C++中的指针初始化"

C++中定义一个指针的时候,例如

int *p。

可以认为定义了两个内容,1:指针,2:指针的指向。需要对指针本身和指针的指向都进行初始化,既要初始化内存地址,也要定义内存中的内容。如果不进行指针的初始化,则内存地址随机分配。格根据编译器的不同,会出现警告或者报错不同等级的问题,在编译中也可能出现难以察觉的bug。

指针的初始化时等号左右两端都必须是内存地址。例如

int a;
int *p;
p = &a;

同时,也可以在定义指针的时候就直接对指针初始化。

int a;
int *p = &a

这里可以这么理解:

int a;
int *(p=&a);

这样的理解有些怪异,因此我一般倾向于这样写:

int* p = &a

但是肯定会面临一个问题,上面的a除了用作给指针p做初始化,没有任何作用了,每次都要开辟一个空间用来给指针初始化,这明显不合理。所以指针初始化还有其他的方式:初始化为空指针和初始化为动态内存

int* p = NULL;
int* p = new double;

至于动态内存的用法则是另一篇的内容了

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15875.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信