免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: magicrobot1984
打印 上一主题 下一主题

忽然想起,指针类型与指针指向的类型有啥差别喃 [复制链接]

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
11 [报告]
发表于 2010-07-20 10:55 |只看该作者
如果学过汇编或者计算机原理,指针就是间接寻址。
在32位机上,指针都是4,指针的类型都可以转换的,比如将char*的转换成int*的,在一些场合会用得到,转换成int*,做整型比较。

论坛徽章:
0
12 [报告]
发表于 2010-07-21 08:00 |只看该作者
以这个为例:int * i;
指针类型是int *;
而指针指向的类型则是int.

第二个很好理解嘛,表示指针指向的 ...
magicrobot1984 发表于 2010-07-17 15:32


最后落实到机器里,全都没区别,因为只有0和1。你把它当代码,它就是代码;你把它当数据,它就是数据。都是数据,你把它当数值,它就是数值;你把它当文本,它就是文本。都是数值,你当它有符号,它就是有符号;你当它没符号,它就是没符号。你当它是地址,它就是地址;你当它是数据,它就是数据。
一切尽在你掌控之中,不要你不犯糊涂。

论坛徽章:
0
13 [报告]
发表于 2010-07-21 12:27 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
巳蛇
日期:2013-10-03 10:41:48申猴
日期:2014-07-29 16:12:04天蝎座
日期:2014-08-21 09:24:52
14 [报告]
发表于 2010-07-21 12:40 |只看该作者
ls是个机器人。{:3_183:}

论坛徽章:
0
15 [报告]
发表于 2010-07-21 13:07 |只看该作者
int* i = 0;
char* c = 0;
printf("%p %p", ++i, ++c);

论坛徽章:
0
16 [报告]
发表于 2010-07-21 15:40 |只看该作者
推荐《C与指针》这本书

论坛徽章:
0
17 [报告]
发表于 2010-07-21 16:24 |只看该作者
指針就是層 一層一層 鑰匙打開門 門裡有門 ............

论坛徽章:
0
18 [报告]
发表于 2010-07-21 21:00 |只看该作者
指针是某个地址的形象叫法,就是一个数字标记(内存空间被按字节来标记)
我认为这样理解比较好:
对于类型就是让编译器知道从这个地址开始往后取多少个字节数据,如int *就取4字节,你不给类型,人家怎么知道拿多少。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP