指针变量与指针所指的变量的区别,希望用较为正式规范的语言描述
4个回答
展开全部
看楼主对指针有所困惑,我给你解释一下什么是指针,估计你就能明白这个问题了。
首先每个变量都有类型,例如整形变量,字符型变量,指针变量等等,类型指定了这个变量能取什么值以及能对这个变量进行何种的操作。
指针变量表示这个变量的类型是个指针,它的值是内存中的某个地址(在32位机器上就是一个32位的值)。但是光有地址还不行,因为你不知道这个地址上放的值是什么类型,所以在定义每个指针变量时必须得指定它指向的这块内存存放的是什么类型的变量。如果这块内存是程序分配给某个变量的,那么这个变量就是该指针所指的变量。当然,指针并不是只能指向变量,有时候指针所指的内存是动态分配的(malloc)内存。
int a = 3;
int *p1 = &a;
这里a的值是3,p1的值是0x7e563200(我瞎写的)
p1是指针变量,a是指针p1所指向的变量。
展开全部
指针变量是只能存放地址的变量;指针所指的变量 可以是 指针变量 也可以是数值型,字符型,枚举型变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int* a = b;
a是指针变量,b是指针a所指的变量
a是指针变量,b是指针a所指的变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int* p = null;
int a = 9;
p = &a;
p 就是指针变量 这是一种特殊变量 因为它不像int double 那样存的是数值 而存的是变量的地址 这里的p 存储的就是int类型变量a的地址值 那么这是要访问a地址中存的数值9 有两种方式 一个就是通过变量a 另一种方式就是 通过指针变量p 此时 *p = a 如果修改a中的值 语句 *p = 10 等效于 a = 10
int a = 9;
p = &a;
p 就是指针变量 这是一种特殊变量 因为它不像int double 那样存的是数值 而存的是变量的地址 这里的p 存储的就是int类型变量a的地址值 那么这是要访问a地址中存的数值9 有两种方式 一个就是通过变量a 另一种方式就是 通过指针变量p 此时 *p = a 如果修改a中的值 语句 *p = 10 等效于 a = 10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询