在学C/C++的时候,我们都会了解到一级指针,int* i = NULL;   和二级指针int ** pp = NULL; 但是具体的一些应用我们可能很难理解,如果我们要取int*的地址,我们就需要int**,这是因为指针传递本质上还是值传递,本质很难理解,我们通过实例说明。

在实际的开发过程中,究竟如何使用二级指针呢?在这里,我们通过形参采用二级指针来修改实参的例子。

我们做的这个例子是利用指向指针的指针申请内存

----------------------------我是分割线--------------------------------------------

# include <iostream>
usning namespace std;void GetMem(char** p, int num)
{*p = new char[num];
}int main(void)
{char*  pChar = NULL;GetMem(&pChar, 10);if(NULL != pChar){cout << "memory new success !" << endl;       }else{cout <<"memort new is failure! " << endl;}return 0;
}

----------------------------------------------------------------------------------------

代码分析:

1、利用指向指针的指针作为函数参数

2、对&pChar所指向的区域,也就是pChar进行修改

达到了申请内存的目的

----------------------------------------------------------------------------------------

C++利用二级指针做函数形参来进行修改实参的实例分析相关推荐

  1. 【C 语言】二级指针作为输出 ( 指针输入 | 指针输出 | 二级指针 作为 函数形参 使用示例 )

    文章目录 一.二级指针 二.完整代码示例 一.二级指针 指针 作为 函数输入 : 调用者 负责 分配内存 ; 指针 作为 函数输出 : 函数 负责 分配内存 , 一般 传入二级指针 , 函数负责生成内 ...

  2. (十三)函数指针做函数形参

    #include <stdio.h> #include <math.h> void fun1(int para1,void (*pfun)(int a),int b)//b为p ...

  3. Day17 指针变量做函数形参 指针函数 函数指针

    1. 指针变量做函数形参 1.1指针变量做一维数组形参 首先先了解如何定义一个一维数组指针 int arr[5] = {1, 2, 3, 4, 5};//定义一个一维数组 int *parr = ar ...

  4. C++数组名做函数形参/指针

    数组名做函数形参 数组未开辟空间时 #include <iostream> using namespace std; void test(int* a) {*a = 0;*(a+1) = ...

  5. 【C 语言】数组 ( 多维数组做函数形参退化为指针过程 | int array[2][3] -> int array[][3] -> int (*array)[3] )

    文章目录 一.多维数组做函数形参退化为指针过程 1.使用 int array[2][3] 作函数参数 2.使用 int array[][3] 作函数参数 3.使用 int (*array)[3] 作函 ...

  6. 利用二级指针删除单向链表

    http://coolshell.cn/articles/8990.html Linus举了一个单向链表的例子,但给出的代码太短了,一般的人很难搞明白这两个代码后面的含义.正好,有个编程爱好者阅读了这 ...

  7. c语言函数变量地址符,C语言中取地址符做函数形参?—— 引用的讨论

    取地址符&做函数形参? C语言强大且危险 引入 这个问题花去了整整一天的研究. 先看一段严蔚敏的<数据结构>中栈的例程: 这里面的&S第一遍看的时候想当然的认为是取了SqS ...

  8. 剑指offer面试题13扩展------Linus:利用二级指针删除单向链表

    Torvalds大婶:很多人不了解如何写核心底层代码 Torvalds大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针 ...

  9. 二级指针做输入_第2种内存模型

    #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <string.h> #include <std ...

最新文章

  1. 学业水平考试网登录_海南高中学业水平考试成绩查询免费登录入口:http://ea.hainan.gov.cn/(已开通)...
  2. SAP 金额在表中的存储及货币转换因子
  3. python matplot.pyplot.plot() 的用法 plt.plot()(绘制y相对于x的线条和/或标记。)
  4. Basic认证方式访问url
  5. [前台]---input标签中的hidden,浏览器差异问题
  6. Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)
  7. android执行lua脚本的方法,从Android应用程序调用Lua脚本
  8. html实现点击切换页面,JavaScript实现的简单Tab点击切换功能示例
  9. Panda_Cloud_v1.2 源代码开源
  10. Android调用第三方app(Scheme隐式以及显示调用)
  11. 【研一周小结】第三周个人学习总结
  12. 怎样在ps中制作对话气泡?一招教你轻松解决
  13. [agc004e]Salvage Robots dp
  14. [C#]Unicode与汉字互转
  15. 运营App渠道推广中,如何统计推广效果?
  16. 7-2 江学长的游戏
  17. 【专访】新奥“贫穷”贵公子王子峥
  18. 智能网卡OVS卸载设计
  19. PLC:触摸屏画面设计--触摸屏IO域格式的区别
  20. 10款非Windows免费操作系统推介

热门文章

  1. splitcontainer如何设置两边一样打_墙洞加筋如何计算?
  2. 计算机分级存储的特,一种分级存储的方法、系统、设备及介质技术方案
  3. linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...
  4. 5单个编译总会编译全部_5分钟读懂JavaScript预编译
  5. 【maven】初识maven
  6. Injection of @Reference dependencies failed;
  7. iOS SwiftUI篇-1 项目结构
  8. 算法(3)简单四则运算
  9. [微信小程序]下拉菜单
  10. 怎样设计一个商城项目?