鱼C论坛

 找回密码
 立即注册
查看: 4164|回复: 9

指针02 &和* 有一个定义搞不懂

[复制链接]
发表于 2012-8-25 18:11:23 | 显示全部楼层 |阅读模式
5鱼币
void main()
{
   int a;
   int *pointer_1;
   a=100;
   pointer_1 = &a;
   printf("%d\n",a);
   printf("%d\n",*pointer_1);
}

这是小甲鱼老师讲的
如果已执行了语句   pointer_1=&a;
(1)&* pointer_1的含义是什么?
“&”和“*”两个运算符的优先级别相同,但按自右而左方向结合,
因此先进行* pointer_1的运算,它就是变量a,再执行&运算。

因此,&* pointer_1与&a相同,即变量a的地址

我想问一下 为什么printf("%d\n",*pointer_1);取值是100 而 pointer_1却是a呢







最佳答案

查看完整内容

没看懂你问的是什么0.0 pointer_1 不就是a地址吗? *pointer_1 就是取a的地址的内容也就是a的值吗
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-8-25 18:11:24 | 显示全部楼层
没看懂你问的是什么0.0  pointer_1 不就是a地址吗? *pointer_1 就是取a的地址的内容也就是a的值吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-25 19:24:07 | 显示全部楼层
楼主你好~
pointer_1不是 a, 而是 a 的地址,  也就是 等于 &a

如果还有什么不懂的, 请回复我
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-25 19:41:34 | 显示全部楼层

懂了   谢谢 啊      
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-25 19:42:08 | 显示全部楼层
向往 发表于 2012-8-25 19:24
楼主你好~
pointer_1不是 a, 而是 a 的地址,  也就是 等于 &a

懂了   谢谢 啊      
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-25 21:32:53 | 显示全部楼层
又不懂了 大哥 a已经给他赋值了啊  为什么不是&100 而是&a呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-25 21:34:06 | 显示全部楼层
怪胎 发表于 2012-8-25 19:42
懂了   谢谢 啊

又不懂了 大哥 a已经给他赋值了啊  为什么不是&100 而是&a呢   谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-25 21:36:51 | 显示全部楼层
怪胎 发表于 2012-8-25 21:32
又不懂了 大哥 a已经给他赋值了啊  为什么不是&100 而是&a呢

也就是说&* pointer_1里面的* pointer_1取值后是100对吗 为什么会和&* pointer_1与&a相同呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-8-25 22:09:03 | 显示全部楼层
怪胎 发表于 2012-8-25 21:36
也就是说&* pointer_1里面的* pointer_1取值后是100对吗 为什么会和&* pointer_1与&a相同呢?

你要知道,指针是指向地址的,pointer_1就是指向&a,*pointer_1就是取&a的值,即a,&* pointer_1也就是a所在的地址。你说的&100那个100不就是a吗?100是不能凭空而来的是系统给分配了内存单元的,100是存储在a的地址上,所以当指针pointer_1指向了a的地址的时候,* pointer_1就是a,而不是简单的100。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-26 09:54:40 | 显示全部楼层
394428311 发表于 2012-8-25 22:09
你要知道,指针是指向地址的,pointer_1就是指向&a,*pointer_1就是取&a的值,即a,&* pointer_1也就是 ...

哦   谢谢 你啊 终于懂了  嘿嘿
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 19:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表