C++利用二级指针做函数形参来进行修改实参的实例分析
在学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++利用二级指针做函数形参来进行修改实参的实例分析相关推荐
- 【C 语言】二级指针作为输出 ( 指针输入 | 指针输出 | 二级指针 作为 函数形参 使用示例 )
文章目录 一.二级指针 二.完整代码示例 一.二级指针 指针 作为 函数输入 : 调用者 负责 分配内存 ; 指针 作为 函数输出 : 函数 负责 分配内存 , 一般 传入二级指针 , 函数负责生成内 ...
- (十三)函数指针做函数形参
#include <stdio.h> #include <math.h> void fun1(int para1,void (*pfun)(int a),int b)//b为p ...
- Day17 指针变量做函数形参 指针函数 函数指针
1. 指针变量做函数形参 1.1指针变量做一维数组形参 首先先了解如何定义一个一维数组指针 int arr[5] = {1, 2, 3, 4, 5};//定义一个一维数组 int *parr = ar ...
- C++数组名做函数形参/指针
数组名做函数形参 数组未开辟空间时 #include <iostream> using namespace std; void test(int* a) {*a = 0;*(a+1) = ...
- 【C 语言】数组 ( 多维数组做函数形参退化为指针过程 | int array[2][3] -> int array[][3] -> int (*array)[3] )
文章目录 一.多维数组做函数形参退化为指针过程 1.使用 int array[2][3] 作函数参数 2.使用 int array[][3] 作函数参数 3.使用 int (*array)[3] 作函 ...
- 利用二级指针删除单向链表
http://coolshell.cn/articles/8990.html Linus举了一个单向链表的例子,但给出的代码太短了,一般的人很难搞明白这两个代码后面的含义.正好,有个编程爱好者阅读了这 ...
- c语言函数变量地址符,C语言中取地址符做函数形参?—— 引用的讨论
取地址符&做函数形参? C语言强大且危险 引入 这个问题花去了整整一天的研究. 先看一段严蔚敏的<数据结构>中栈的例程: 这里面的&S第一遍看的时候想当然的认为是取了SqS ...
- 剑指offer面试题13扩展------Linus:利用二级指针删除单向链表
Torvalds大婶:很多人不了解如何写核心底层代码 Torvalds大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针 ...
- 二级指针做输入_第2种内存模型
#define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <string.h> #include <std ...
最新文章
- 学业水平考试网登录_海南高中学业水平考试成绩查询免费登录入口:http://ea.hainan.gov.cn/(已开通)...
- SAP 金额在表中的存储及货币转换因子
- python matplot.pyplot.plot() 的用法 plt.plot()(绘制y相对于x的线条和/或标记。)
- Basic认证方式访问url
- [前台]---input标签中的hidden,浏览器差异问题
- Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)
- android执行lua脚本的方法,从Android应用程序调用Lua脚本
- html实现点击切换页面,JavaScript实现的简单Tab点击切换功能示例
- Panda_Cloud_v1.2 源代码开源
- Android调用第三方app(Scheme隐式以及显示调用)
- 【研一周小结】第三周个人学习总结
- 怎样在ps中制作对话气泡?一招教你轻松解决
- [agc004e]Salvage Robots dp
- [C#]Unicode与汉字互转
- 运营App渠道推广中,如何统计推广效果?
- 7-2 江学长的游戏
- 【专访】新奥“贫穷”贵公子王子峥
- 智能网卡OVS卸载设计
- PLC:触摸屏画面设计--触摸屏IO域格式的区别
- 10款非Windows免费操作系统推介
热门文章
- splitcontainer如何设置两边一样打_墙洞加筋如何计算?
- 计算机分级存储的特,一种分级存储的方法、系统、设备及介质技术方案
- linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...
- 5单个编译总会编译全部_5分钟读懂JavaScript预编译
- 【maven】初识maven
- Injection of @Reference dependencies failed;
- iOS SwiftUI篇-1 项目结构
- 算法(3)简单四则运算
- [微信小程序]下拉菜单
- 怎样设计一个商城项目?