c++ 指针 指针变量的概念

来源:百度知道 编辑:UC知道 时间:2024/06/06 08:12:09
俺菜鸟,对于概念还是不太清楚,帮忙理解一下,如下;

指针:简单一点说就是变量的地址;
指针变量:指针变量的值是另一个变量的地址;
int a=1;
int *p;
p=&a;
这样p=1
俺要问,把a的地址赋给p时,是不是同时也把值赋给指针变量p?p=1,1不是值吗?
不能理解,要昏,高手们快来讲讲,通俗一点,啊?

int a=1;
int *p;
p=&a;

指针p的值是a的地址
指针p指向的地址的值用*p表示

所以是*p等于1,而不是p等于1,p等于a的地址(&a)

学习指针最好的方法是画内存图

int a=1;
int *p;
p=&a; //将a的地址赋给p,这时p的内容就是a的地址,p就指向a,并不是把变量的值交给p,只是让p指向a,*p就等于a中的值

p=1;这样写是错误的,因为P是一个指针变量,只能存放地址,不能用于存放其他数值

指针 关键要形象化的理解
比如说我指向你 ,指的是你所在的位置
但代表的是你这个人



p只是一个地址
*p才代表一个值

p=(一个十六进制的数)