感觉这是一个蛮有意思的问题
1、获得函数的地址
函数名实际上就是指针,所以我们可以通过强制类型转换来获取函数的地址。比如如果我们要获取主函数main的内存起始地址,我们可以这样:
int i = 0;
i = (int)main;
printf(“%d\n”,i);
这样我们就获取了main函数的地址了啊,其他的自定义的函数也是同样的道理啊。
2、获取变量地址
这个是相当简单的啊,我们都知道C语言是有指针的啊,我们可以取一个变量的地址,然后再通过强制类型转换来获得我们想要的内存地址,比如
int variab = 0;
int addrvar = 0;
addrvar = (int)&variab;
这样我们就在变量addrvar中保存了变量variab的地址了啊。
3、获得数组的地址
数组本身就是指针,它本身就是内存地址,和获得函数地址的方法一样啊。比如
int array[10];
int addrarr;
addrarr = (int)array;
阅读(2128) | 评论(0) | 转发(0) |