微博网站认证 备案名称,产品开发流程介绍,做网站是用源码还是模版,海报模板网站有哪些写一个很简单的 c 代码#xff0c;打印一些“地址”#xff0c; 也就是变量、函数的“存储位置”#xff1a;当程序被加载到内存后#xff0c;它们具体是存在哪里#xff0c;可以用精确的数值来表示#xff0c;这就是内存地址。
https://godbolt.org/z/Ghh9ThY5Y
#inc…写一个很简单的 c 代码打印一些“地址” 也就是变量、函数的“存储位置”当程序被加载到内存后它们具体是存在哪里可以用精确的数值来表示这就是内存地址。
https://godbolt.org/z/Ghh9ThY5Y
#include stdio.h
#include stdlib.hchar a[] password;int main()
{int b 2;int* c (int*)malloc(4);*c 0x11223344;printf(%p, %p, %p, %p\n, a, b, c, main);
}ASM generation compiler returned: 0
Execution build compiler returned: 0
Program returned: 0
0x404038, 0x7fff019b0e64, 0x2377eb0, 0x401140对应的内存地址按从高到低顺如如下不同的GLIBC版本得到的具体值会有差异但是整体趋势是固定的stack地址从高往低增长 .text 和 .data 在地址比较低的地方 heap 则从地址较低的地方往地址较高的地方增长
b (0x404038) // stack
c (0x2377eb0) // heap
a (0x404038) // .data
main (0x401140) // .text