一级指针

通常用作,函数的输入参数,因为一级指针作为函数参数,在调用的时候,实参和形参是不同的内存空间,只是,这个内存空间存放的指针指向的是同一块地址 ,所以形参在函数执行中可以访问实参指向的内存空间,但是形参的指向的改变并不能影响实参。 总结一句话“一级指针做函数参数, 在函数内做形参做重新指向并 不会影响实参的指向”

一级指针应用需要注意的:①、不要在函数中,改变形参的指向来达到改变实参指向的效果,因为形参和实参只是两个指向同一空间的不同的指针。 ②、因为形参和实参指向的是同一空间,所以可以在形参中改变其指向空间的值,如此实参指向的空间地址也发生改变。

从上面的运行结果可以看出,在pointer1 函数中改变形参p的指向,并不会改变实参p的指向。所以输入的值是一堆脏数据。

但是,进行如下的修改之后,看看运行的效果。

修改之后的运行结果,从代码的改动可看出  pointer1函数中修改的不是形参指针的指向,而是修改形参指针指向的空间的内容。这样就能达到一级指针做函数返回值的效果。

二级指针

通过二级指针,可以方便的通过改变形参的指向,来达到改变实参的指向的目的。

打印的结果是20。

总结:

一级、二级指针都可以用作函数的返回值,使用一级指针作为函数参数的返回值,需要在调用函数之前申请内存空间,方便在函数中对该内存空间赋值,达到将函数的返回结果传出来的目的。 使用二级指针,无需申请内存空间,因为在函数内直接改变形参的指向就可以改变实参的指向, 指向的内存空间,只需要在函数内部申请即可(栈空间不可,因为栈空间用完即被释放,无法返回出来,可以使用动态内存分配)。

学习的文章 http://blog.csdn.net/majianfei1023/article/details/46629065

一级指针, 二级指针相关推荐

  1. C 结构体嵌套一级指针 二级指针 动态分配内存

    https://blog.csdn.net/xielinhua88/article/details/51364623 点击打开链接 #define _CRT_SECURE_NO_WARNINGS #i ...

  2. C++一级与二级指针基础详解

    指针可以指向一份普通类型的数据,例如 int.double.char 等,也可以指向一份指针类型的数据,例如 int *.double *.char * 等. 如果一个指针指向的是另外一个指针,我们就 ...

  3. 【指针】一级指针二级指针知识点梳理

    目录 一.普通指针(一级) 1.定义 2.指针变量和普通变量的异同点 3.使用:​​​​​ 4.指针字节大小 5.习题练习 总结 6.指针的好处 总结 7.指针与引用 8.指针与const Q& ...

  4. 指针的指针(二级指针)本质

    可以指向一份普通类型的数据,例如 int.double.char 等,也可以指向一份指针类型的数据,例如 int *.double *.char * 等. 如果一个指针指向的是另外一个指针,我们就称它 ...

  5. C语言指针--二级指针

    文章目录 前言 一.什么是二级指针 二.二级指针的使用 1.二级指针的定义 2.二级指针的赋值 3.二级指针的使用 3.1 用二级指针输出一级指针的地址 3.2 用二级指针输出一级指针中的内容 3.3 ...

  6. 带你认识什么是一级指针、二级指针、三级指针

    今天带大家了解一下什么是一级指针.二级指针.三级指针 1.一级指针 一级指针其实就是我们平时常见的普通指针 如: int a = 12; int * b = &a; //一级指针,定义一个指针 ...

  7. C/C++二级指针概念及应用(有向图的邻接表(拓扑排序)、有向网图的邻接表、树的孩子表示)

    目录 一.概述 例1: 例2: 代码: 二.实例 1.有向图的邻接表(拓扑排序) 2.有向网图的邻接表 3.树的孩子表示 一.概述 二级指针:指向指针的指针.一般需要修改地址的时候会用到二级指针. 注 ...

  8. 指针数组,数组指针,指针函数,函数指针,二级指针详解

    先看个简单的:char *p,这定义了一个指针,指针指向的数据类型是字符型,char  *(p)定义了一个指针P: char *p[4], 为指针数组,由于[]的优先级高于*,所以p先和[]结合,p[ ...

  9. 【C 语言】结构体 ( 结构体中嵌套二级指针 | 为 结构体内的二级指针成员 分配内存 | 释放 结构体内的二级指针成员 内存 )

    文章目录 一.结构体中嵌套二级指针 1.结构体中嵌套二级指针 类型声明 2.为 结构体内的二级指针成员 分配内存 3.释放 结构体内的二级指针成员 内存 二.完整代码示例 一.结构体中嵌套二级指针 1 ...

  10. C语言中二级指针的作用

    C语言中不存在引用,所以当你试图改变一个指针的值的时候必须使用二级指针. 1.当不用指针时,参数传入子函数的过程为值传递,子函数中修改的局部变量的值对原来的实参并没有影响. 2.当用一级指针时,参数传 ...

最新文章

  1. php 调用url field,使用 PHP curl 调用 API,如何传递如下格式的 POSTFIELD?
  2. e-cology在保险行业——泛微保险行业解决方案
  3. C-指针02 2017/11/24
  4. DOM(document object model),文档对象模型
  5. RabbitMQ3.8.4安装和配置
  6. 大数据产业目前面临哪些问题
  7. Wireshark安装Npcap组件失败的解决方法
  8. LUA C API接口
  9. VMware虚拟机安装Windows 10 详细教程
  10. 我也来开发2048之终极奥义
  11. Win10 Ubuntu16.04 时间同步问题
  12. Java脚本数组复制
  13. SQLPro Studio for Mac(可视化数据库管理工具)
  14. Get和Post请求参数格式
  15. HTML中的转义字符
  16. 用Marvelous Designer是如何构建人物角色3d服装的
  17. zabbix邮件报警发送至qq邮箱
  18. Android中根据dialog的展示与否控制软键盘的显示与隐藏
  19. LaTex 编译中文
  20. 国产数据库比较之大数据分析

热门文章

  1. 删除Chrome浏览器网站地址栏以前的搜索记录
  2. Python对文件进行重命名
  3. Linux怎么样修改文件编码,Linux下批量修改文件编码
  4. 计算机软硬件的开发及应用,管理和控制计算机系统软硬件资源的软件是 计算机软硬件开发...
  5. 软件环境 硬件环境java,软件环境和硬件环境都指什么?
  6. DAY 2 Perceived and cognition || HTML CSS 入门
  7. android 文件管理器 apk,Android6.0自带文件管理器无法打开apk文件
  8. 深度学习工作站装机指南
  9. Scala基本语法-面向对象
  10. Unity中访问GameCenter的实现