【C++基础之十三】指向指针的指针

原创 2013年09月24日 17:31:30

话说这玩意真不好理解,一般也不会用到,不过还是拿出来看看,叔到用时方恨嫂啊!

我们从一个例子来看它。


1.一个常见的错误

这个错误在第三篇局部变量的返回里就有讲过了。详见http://blog.csdn.net/jackystudio/article/details/11523353

因为系统会自动拷贝一个char* p,然后给p分配空间,调用结束后p指向的空间产生内存泄漏。而test从头到尾都指向NULL(0x00000000),对它进行赋值只会引起内存不能为read的错误。

void mallocMemory1(char* p, int num)
{
	p=new char[num];//分配空间
}

int _tmain(int argc, _TCHAR* argv[])
{
	char* test=NULL;
	mallocMemory1(test,100);
	strcpy(test,"HelloJacky");//赋值
	return 0;
}



2.利用返回值传递动态内存

不过这样做要注意不能返回指向栈的局部变量,栈内存在函数接收后会被回收。

char* mallocMemory2(int num)
{
	char* p=new char[num];//分配空间
	return p;//返回指针
}

int _tmain(int argc, _TCHAR* argv[])
{
	char* test=NULL;
	test=mallocMemory2(100);//给test赋值
	strcpy(test,"HelloJacky");//赋值
	return 0;
}



3.利用指向指针的指针

传入的是指针的地址,也就是一个“指向指针的指针”的内容。

void mallocMemory3(char** p, int num)
{
	*p=new char[num];
}

int _tmain(int argc, _TCHAR* argv[])
{
	char* test=NULL;
	mallocMemory3(&test,100);//传入指针的地址
	strcpy(test,"HelloJacky");//赋值
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

C++指针(Pointer)的理解(指向指针的指针、指向引用的指针)

在c++中的指针占据着重要的地位,在以后的c++的编程会j
  • u010807583
  • u010807583
  • 2014年10月23日 15:05
  • 4398

【C++基础之十三】指向指针的指针

话说这玩意真不好理解,一般也不会用到,不过还是拿出来看看,叔到用时方恨嫂啊! 我们从一个例子来看它。 1.一个常见的错误 这个错误在第三篇局部变量的返回里就有讲过了。详见http://blog.c...
  • jackyvincefu
  • jackyvincefu
  • 2013年09月24日 17:31
  • 6711

理解一般指针和指向指针的指针

理解一般指针和指向指针的指针 在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例: 1. 指向整型指针 先看如下示例: View Code  1 #include   2 ...
  • g200407331
  • g200407331
  • 2016年09月21日 17:08
  • 8334

C++实例:指向指针的指针的初始化

int **ptr = new int*[N];   for ( i = 0; i   ptr[i] = new int[N];   #include   #include ...
  • yang1994
  • yang1994
  • 2012年02月29日 17:09
  • 1667

数组的指针、指针数组以及指向指针的指针

考虑数组的指针的时候我们要同时考虑类型和维数这两个属性。换一句话,就是说一个数组排除在其中存储的数值,那么可以用类型和维数来位置表示他的种类。一维数组在c和c++中数组的指针就是数组的起始地址(也就第...
  • kyo34080800
  • kyo34080800
  • 2011年03月17日 08:30
  • 3259

如何理解指向指针的指针

问题:如何理解指向指针的指针? 我在一篇教程中看到下面这段,它描述指向指针的指针是如何运作的。 引用文章相关段落如下: ...
  • oshan2012
  • oshan2012
  • 2018年02月03日 09:52
  • 7

指向指针的指针

http://www.cnblogs.com/dzry/archive/2011/05/12/2044835.html 在说指向指针的指针之前,不得不说指向变量的指针。先看如下示...
  • wangyin159
  • wangyin159
  • 2015年06月29日 22:08
  • 458

如何理解指向指针的指针?

问题:如何理解指向指针的指针? 我在一篇教程中看到下面这段,它描述指向指针的指针是如何运作的。 引用文章相关段落如下: int i = 5, j = 6, k = 7; int *ip1 = &...
  • jb19900111
  • jb19900111
  • 2014年03月04日 11:00
  • 1329

指向指针的指针的内存分配与释放

原文地址::http://hi.baidu.com/b_a_i_du/blog/item/7125a7d35ca0afd6a8ec9af6.html?   相关网帖    1.给指向指针的指针分...
  • xqhrs232
  • xqhrs232
  • 2012年06月02日 09:42
  • 1345

理解一般指针和指向指针的指针

理解一般指针和指向指针的指针 relation:http://blog.csdn.net/g200407331/article/details/52610175 在说指向指...
  • oshan2012
  • oshan2012
  • 2018年02月03日 08:36
  • 62
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C++基础之十三】指向指针的指针
举报原因:
原因补充:

(最多只允许输入30个字)