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