黑马程序员技术交流社区

标题: 指针类型问题 [打印本页]

作者: woaidd99    时间: 2015-5-30 21:03
标题: 指针类型问题
int a = 100;
int *p = &a;
那么int *p = &a;,中的int定义的是指针的类型,还是指针变量所对应的存储单元中存储数据的类型.
作者: lyricdon    时间: 2015-5-30 21:16
表示定义的指针只能存储对应类型的变量的地址
作者: woaidd99    时间: 2015-5-30 21:27
说清楚点吧  好像没听懂
作者: wangguanyang    时间: 2015-5-30 21:47
楼主莫钻牛角尖
作者: 七尺阳光    时间: 2015-5-30 22:14
是指针变量所对应的存储单元中存储数据的类型.
作者: 恩赐_RWQqZ    时间: 2015-5-30 22:19
指针就是地址,地址是不分类型的.你说的应该是访问指针变量存储的指针空间时需要提取多少字节吧.
作者: woaidd99    时间: 2015-5-30 23:10
wangguanyang 发表于 2015-5-30 21:47
楼主莫钻牛角尖

shui   tie
作者: hi虚无缥缈    时间: 2015-5-30 23:21
定义了一个intl类型的指针变量,指针变量所对应的存储单元中只能存储int类型变量的地址
作者: 这是829    时间: 2015-5-31 00:02
围观学习啦
作者: fixer    时间: 2015-5-31 00:11
当然是后者,指针是地址,地址是没有类型的,指针变量分类型是为了引用数据的时候不会出错
作者: Dariel    时间: 2015-5-31 09:20
int是指针变量所存储地址的数据类型
作者: talent123    时间: 2015-5-31 17:09
表示指向int类型的数据
作者: woaidd99    时间: 2015-5-31 22:59
fixer 发表于 2015-5-31 00:11
当然是后者,指针是地址,地址是没有类型的,指针变量分类型是为了引用数据的时候不会出错 ...

你可以听听  视频  貌似不是这么说的
作者: woaiqpl    时间: 2015-6-1 10:13
表示定义的int类型指针只能存储Int类型的变量的地址
作者: 星空眼泪    时间: 2015-6-1 12:38
woaidd99 发表于 2015-5-31 22:59
你可以听听  视频  貌似不是这么说的

其实他说的是对的,因为任何数据在内存中存储的都是01形式的,所以根本就没有什么数据类型之说,
int *p =&a,表示的是p指向了a变量,确切的说,应该是指向了a变量的首字节的地址(a是int 类型,占的是4个字节 ,而p指向的事第一个字节的内存地址)。*P表示操作p的地址所指的内存空间,但是具体操作后面的多少字节呢?这里就要看定义的指针变量P的时候类型,这里是int 字节,所以操作的是后面四个字节(包括首字节)。
作者: woaidd99    时间: 2015-6-1 21:00
星空眼泪 发表于 2015-6-1 12:38
其实他说的是对的,因为任何数据在内存中存储的都是01形式的,所以根本就没有什么数据类型之说,
int *p ...

哦哦  好像是这么回事
作者: room_jay100    时间: 2015-6-1 21:33
可以写成int *p=a,直接取他得首地址.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2