函数指针和函数的地址
所以我想在制作函数指针时,你不需要operator &获取初始函数的地址:
#include <stdio.h>double foo (double x){
return x*x;}int main () {
double (*fun1)(double) = &foo;
double (*fun2)(double) = foo;
printf("%f\n",fun1(10));
printf("%f\n",fun2(10));
printf("fun1 = %p \t &foo = %p\n",fun1, &foo);
printf("fun2 = %p \t foo = %p\n",fun2, foo);
int a[10];
printf(" a = %p \n &a = %p \n",a,&a);
return 0;}输出:
>./a.out 100.000000100.000000fun1 = 0x4004f4 &foo = 0x4004f4fun2 = 0x4004f4 foo = 0x4004f4 a = 0x7fff26804470 &a = 0x7fff26804470
然后我意识到这对于数组也是如此,这意味着如果你有int a[10]两个a并&a指向相同的位置。为什么这是数组和函数?地址是否保存在与其中保存的值(地址)具有相同地址的内存位置中?
暮色呼如
开满天机
繁华开满天机
相关分类