鱼C论坛

 找回密码
 立即注册
查看: 4450|回复: 7

初学者之指针的问题

[复制链接]
发表于 2012-10-18 19:25:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
上周正式上大学,也正是开了c语言课,这周讲到了指针,老师说指针就是地址,这句话是否正确呢?另外,我们用的书是学校老师自己编写的,并没有为指针专门开章,而是在各章之间穿插指针知识。好吧,说了这么多,,我只想知道,指针是什么?
就是地址还是一种寻址方式?还是其他什么?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-10-18 20:46:42 | 显示全部楼层
我个人感觉也是理解为寻址,他都是指向内存地址。而变量一般指向的是值!
更深入涉及到读写内存方面的时候,修改内存数据的话就作用不同。
好像关键作用对代码优化有关键作用。特别是大程序!
这个你不看汇编很难理解的。建议看小甲鱼汇编。
作用比变量一类更灵活。而且其指向是地址而不是值!
(这个涉及到内存存储问题,我也新手理解的不深。)
汇编的 lea 指令就是传址

*a ,b=1,c
    a=&b
    b=2
    c=a
printf(c)
你肯定以为a=1。但是不然,他指向的只是地址,而不是值!
这就是跟普通赋值语句不同。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-10-18 20:57:41 | 显示全部楼层
指针是数据类型,就像整型是数据类型。
具体来说,指针这种数据类型分为:指向int的指针类型,指向float的指针类型等等
就好像整型包括int,usigned int, short, char等

指针这类数据类型的值是地址,地址仅仅是指针的一个属性,
就好像名字仅仅是一个人的属性一样。

在很多人眼里,你和你的名字没有区别,因为他们不关心你的任何方面,只要见到你能说出名字就可以了。
就好比在很多人眼里,指针和地址没有区别,因为他们不关心指针的任何方面,只关心它指向的地址是什么。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-10-20 11:54:11 | 显示全部楼层

恩,我学过汇编,,不过才学到内中断,,LEA指令还没学到,,感谢你的回答,让我有了新的认识!~
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-10-20 12:08:08 | 显示全部楼层
仰望天上的光 发表于 2012-10-18 20:57
指针是数据类型,就像整型是数据类型。
具体来说,指针这种数据类型分为:指向int的指针类型,指向float的 ...

{:2_36:}和我们老师举的例子一样,感谢~
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-10-20 12:23:53 | 显示全部楼层
是一种寻址,如地址就是一个住户的门牌号,指针就是指向的这里面的住户
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-10-20 21:22:36 | 显示全部楼层
了解一下!!
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-10-22 21:01:36 | 显示全部楼层
olly_DBG 发表于 2012-10-20 12:23
是一种寻址,如地址就是一个住户的门牌号,指针就是指向的这里面的住户

恩,了解了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-15 18:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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