什么是指针?
看看下面的例子
int main(void)
{
int value = 3;//声明了一个名为value的int类型(4字节)的变量
int *p; //声明了一个名为p的int类型的指针
p = &value;//取值符号:&,将int类型value变量的地址赋值给int类型指针p
printf("value的地址是:%d",p);
return 0;
}
/*value的地址是:0xacddeaa147ad8*/
指针是指向变量的地址的玩意。
那么保存了地址有什么用呢?
看看下面的例子
int main(void)
{
int value = 3;//声明了一个名为value的int类型(4字节)的变量
int *p; //声明了一个名为p的int类型的指针
p = &value;//取值符号:&,将int类型value变量的地址赋值给int类型指针p
printf("value的值是:%d",*p);
return 0;
}
/*value的值是:3*/
我们可以同访问指针变量指向的地址来获得该地址内存保存的值。
这里需要强调的是:指针与被指向的量必须是相同的数据类型
例如:value和指针p都是int类型的。