指针“变量里面的值” 和 “指针地址的值” 和 “指针指向的值” 有什么区别?
1个回答
展开全部
一、结果不同
例如:
int i=1; //假设i的地址为100,实际地址不是这样的。
int *p=&i; //假设指针p的地址&p为200
指针变是的值也就是指针的值p,也就是变量i的地址,即100,也就是说p=100,
而指针指向的值,指的是指针所指向的地址100这个内存位置,所对应的值,也就是i的值,为1。
二、意思不同
指针变量的值。指的是P本身的值,写作P,在这里是a的地址,类型为int型;
指针地址的值,指的是p的地址值,写作&p,这个地址代表的内存,存储出是P的值,类型为**型,也就是二级指针;
指针指向的值,指的是p值代表的地址上存储的值,写作*p,在这里就是变量a的值,类型为int型。
三、用途不同
变量是可以存储数据的,但是指针变量与普通变量不同,它用来存放普通变量的地址,即指针变量是用来存放普通变量的指针。指针变量也是一个变量,在内存中也是占内存的,只不过它不存放基本类型数据,而是存放其他基本类型变量的地址。
指针变量的地址用比该指针类型高一级的指针变量来存放指针变量的地址,如二级指针变量存放一级指针变量的地址,三级指针变量存放二级变量的地址,依次类推。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询