c指針深入理解--指針和函數

技术c指針深入理解--指針和函數 c指針深入理解--指針和函數一、程序的栈和堆:堆:-》栈-》程序栈-》栈幀(组织)-》函数返回地址-》局部数据存储-》参数存储-》栈指针和基指针1)栈指针:通常指向栈顶

c指针深入理解——指针与函数

一、程序的栈和堆:

堆:

-“堆叠

-"程序栈

-"堆栈框架(组织)

-"函数返回地址

-“本地数据存储

-“参数存储

-"堆栈指针和基指针

1)栈指针:它通常指向栈顶。

2)基指针:通常指帧栈的内部地址,如函数返回地址和数组。

-“动态堆(自定义应用程序)

第二,通过指针传输和返回数据:

-“传输数据:

1)指针转移

void swapWithPointers(int* pnum1,int * pnu m2){ 0

int tmp

tmp=* pnum1

* pnum1=* pnum2

* pnum2=tmp

}

下面的代码片段说明了这个函数的用法:

int main(){ 0

int n1=5;

int n2=10

swapWithPointers(n1,N2);

返回0;

}

2)数值传递:(普通参数传递法)

3)将指针传递给常量:(这个方法非常高效,因为只传递数据的地址,在某些情况下可以避免复制大量内存)

-“返回数据:

三.函数指针:

概念差异:

函数:重点放在指针上,比如int (*fun)()

指针函数:重点放在函数上,比如int *fun()

-“传递函数指针:

-“返回函数指针:

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/157182.html

(0)

相关推荐

  • JavaScript中var与let的区别是什么

    技术JavaScript中var与let的区别是什么本篇文章给大家分享的是有关JavaScript中var与let的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小

    攻略 2021年12月8日
  • 如何显示PX2的CVBS视频输入

    技术如何将PX2的CVBS视频输入显示出来如何将PX2的CVBS视频输入显示出来,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。PX2的板上自带两个视频输入,

    攻略 2021年12月22日
  • VS连接sqlsever数据库

    技术VS连接sqlsever数据库 VS连接sqlsever数据库工具:
    1.Visual Studio (我使用的是vs2013)
    2.SQL Server (我使用的是sql server2008)

    礼包 2021年11月22日
  • Redis的java客户端Jedis的代码怎么写

    技术Redis的java客户端Jedis的代码怎么写这篇文章将为大家详细讲解有关Redis的java客户端Jedis的代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了

    攻略 2021年10月20日
  • 学习CSS布局的理由具体有哪些

    技术学习CSS布局的理由具体有哪些学习CSS布局的理由具体有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。这里向大家描述一下CSS布局的10大理由,虽然

    攻略 2021年11月17日
  • 计算机组成原理--存储器与寄存器

    技术计算机组成原理--存储器与寄存器 计算机组成原理--存储器与寄存器现代计算机硬件由五大部件组成,分别是:运算器、控制器、存储器、输入设备和输出设备。
    存储器:
    而存储器的存在对于计算机来说起着不可或

    礼包 2021年11月20日