指针就是地址吗,指针变量难道不是地址?

int*a是不是*a是指针a是指针变量?那为什么说指针是常量?*a不也是可以变化的吗... int *a

是不是*a是指针 a是指针变量?
那为什么说指针是常量?
*a不也是可以变化的吗
展开
 我来答
wanfustudio
2011-04-27 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3586万
展开全部
乱了
a是指针变量, 跟其他变量不同的是它的内容存的是一个地址,所以它的内容发生改变就是指向了别处

指针不是常量,都说是指针变量了,怎么可能还是常量呢

有的时候会在指针变量上加const修饰
如const char *s = "123"; 这个是字符串常量, 它指向的内容不可改,估计算是常量吧
还可以是const char * const s= "123"; 指针不可改,指向的内容也不可改,那真的就成常量了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huangguapi123
2011-04-29
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
第一,想想计算机组成原理中的内存就行了(另外有的非内存的存储器和内存一起都被编了地址)。
第二,指针也是个变量,有一定的类型如(int *),编译器也会给它分配一定量得内存空间(具体是多少 可以用关键字sizeof(int *)自己来看^_^),它里面放的是地址空间中某个int型变量的地址。
第三,再来看 * 和 & 这两个运算符,* 是你给了地址后,我根据这个地址去取值,如 *a就是 根据变量a中储存的地址,找到int型的某个变量。而&正好相反,由于每个变量都是有地址的,它做的就是求出某个变量的地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-28
展开全部
a是指针变量,里面存的是一个地址,*a表示取这个地址里的类容,&a表示取这个地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2011-04-28 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:4877万
展开全部
指针 它的地址含两个概念,一个是指针自己的地址,另一个是它指向的地址。
当声明一个指针时,系统给指针分配了它自己的存放地址,这时它没有 指向的地址 的地址值,只有初始化,或者你给它赋了地址 或者动态分配了存储单元,它才有 指向的地址(地址值)。
int *a; a 是 指针变量,它尚未存放 指向的地址 的地址值。
语句中的 *a 外形同声明里的 *a 外形一样,但概念意义不同(C语言的一个缺点)。
语句中的 a 表示 指向的地址 的地址值,不是 指向的地址 里存放的数值。
语句中的 *a 表示数值,什么值呢,看它指向哪个地址,它的值等于 指向的那个地址里存放的值。如果尚未初始化,尚未给它赋了地址,*a 就没有值。
*a 的 变化 是它 指向的那个地址里存放的值 发生了变化。
声明为指向常量的指针,才可以指向常量,int *a 不指向常量,只指向int型变量。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式