C语言中函数的地址在编译时就分配好了,为什么不会产生地址冲突?运行时刚好那个地址有别的程序在用
答案:2 悬赏:10 手机版
解决时间 2021-01-24 09:24
- 提问者网友:动次大次蹦擦擦
- 2021-01-23 21:33
C语言中函数的地址在编译时就分配好了,为什么不会产生地址冲突?运行时刚好那个地址有别的程序在用
最佳答案
- 五星知识达人网友:鱼忧
- 2021-01-23 22:54
函数的具体武理地址不是编译的时候分配的,是运行的时候由系统分配的!如果你看一下生成的汇编代码你就会发现进入函数时的操作是将返回地址压栈后通过CALL跳转到函数开头处执行,压栈的函数地址都是偏移量,实际地址在运行时通过基址加减偏移量得出。另外通常程序的内存空间是专用的,两个程序的空间互不冲突,普通用户程序不可以访问其他程序的内存空间!
全部回答
- 1楼网友:往事隔山水
- 2021-01-23 23:06
标准c中没有reverse()函数
这是c++的一个新增函数
template
void reverse(
bidirectionaliterator _first,
bidirectionaliterator _last
);
需要引用头文件
#include
命名空间:std
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯