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)

相关推荐