#include <stdio.h>
int main()
{
int arr[]={1,2,3,4};
int sz=sizeof(arr)/sizeof(arr[0]);
//1.sizeof(数组名)--数组名表示整个数组大小
//2.&aar,&数组名,表示取出的是整个数组的地址;
printf("%p\n",arr);//首元素地址
printf("%p\n",&arr[0]);//首元素地址
printf("%p\n",&arr);//整个数组的地址
printf("%d\n",*arr);//数组首元素值
return 0;
}
在函数中
假如add是函数名,
printf("%p",add);
printf("%p",&add)
两者地址是一样的,跟数组不一样,&函数名和函数名都是一样的
如何存放函数的地址呢?
假如这是函数:int add(int x,int y)
int (*p)(int ,int)=add;//参数写不写无所谓
打印的话:printf("%d\n",(*p)(参数,参数));