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)

相关推荐

  • php如何实现大转盘功能

    技术php如何实现大转盘功能本篇内容介绍了“php如何实现大转盘功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    攻略 2021年11月16日
  • Python中Gevent怎么用

    技术Python中Gevent怎么用这篇文章主要为大家展示了“Python中Gevent怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中Gevent怎么用”

    攻略 2021年10月27日
  • which的用法总结,which的意思和用法

    技术which的用法总结,which的意思和用法1which的用法总结、(用作疑问代词)哪一个,哪一些Which is my seat?哪个座位是我的?2、(用做关系代词)那一个,那一些
    He also had a gu

    生活 2021年10月20日
  • oracle12c中如何导入java的jar文件

    技术oracle12c中如何导入java的jar文件这篇文章主要介绍oracle12c中如何导入java的jar文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、

    攻略 2021年11月11日
  • Oracle 12c R2版本 Application Containers的特性是什么

    技术Oracle 12c R2版本 Application Containers的特性是什么本篇文章给大家分享的是有关Oracle 12c R2版本 Application Containers的特性是什么,小编觉得挺实

    攻略 2021年11月12日
  • wcf继承实体序列化怎么处理(wcf的完整形式是什么)

    技术WCF序列化是什么本篇内容介绍了“WCF序列化是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!近期看了大量关于W

    攻略 2021年12月14日