CC++二级指针的使用方法

CC++二级指针的使用方法,第1张

概述在使用指针时需要特别注意,一不小心就会造成内存访问越界,导致应用程序闪退。尤其是在使用多级指针的时候,更应该注意这个问题。下面以二级指针为例说明二级指针正确的使用方法,以及错误使用二级指针的示例。   例如:需要一个string类型的二级指针给程序使用。 1.  只为一级指针分配内存 这种方法是只为一级指针分配内存,然后将一级指针的地址赋给二级指针对象。   注意:pstrs的值是strs的地址,

在使用指针时需要特别注意,一不小心就会造成内存访问越界,导致应用程序闪退。尤其是在使用多级指针的时候,更应该注意这个问题。下面以二级指针为例说明二级指针正确的使用方法,以及错误使用二级指针的示例。

 

例如:需要一个string类型的二级指针给程序使用。

1.  只为一级指针分配内存

这种方法是只为一级指针分配内存,然后将一级指针的地址赋给二级指针对象。

 

注意pstrs的值是strs的地址,因此不能使用下面的方法来访问strs数组。

 

这样访问,只有在第一次循环时能访问到strs[0]对象,之后的pstrs[1]~pstrs[4]都是非法访问,会造成程序异常。

 

2. 为每一级指针都分配内存

这种方法是为每一级指针都分配内存,具体方法如下:

 

strs相当于一个类型std::string*长度为n的数组。因此,需要给每一个strs[i]分配内存,同时也要对每一级指针进行内存回收。下面的示例中没有给一级指针分配内存就进行访问,会产生异常。原因是此时还没有给strs[i]分配内存,strs[i]存储不一定是一个std::string类型的变量,所以会产生异常。

 

异常如下:

总结

以上是内存溢出为你收集整理的C/C++二级指针的使用方法全部内容,希望文章能够帮你解决C/C++二级指针的使用方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1211764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存