指针变量类型?

C加伽 2014-05-03 11:08:19
指针变量,可以是什么类型?
...全文
540 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
指针,就是存储了某个内存地址的变量。指针的类型是,按照某个方式解析该地址的数据
HUSTYZHY 2014-05-13
  • 打赏
  • 举报
回复
除寄存器变量和硬件端口变量不能取其指针以外
lanlvy 2014-05-13
  • 打赏
  • 举报
回复
指针那么强大,你应该问指针不能指的类型有哪些
引用 21 楼 gaoxu634610 的回复:
指针可以指各种数据类型及函数
lin5161678 2014-05-13
  • 打赏
  • 举报
回复
引用 25 楼 u014682413 的回复:
指针可以指向任何类型
别乱来 告诉你一个惊悚的事实 float* 指针不能指向int 类型的对象 double* 指针不能指向int 类型的对象 int* 指针不能指向 double类型的对象 ......
知行year 2014-05-13
  • 打赏
  • 举报
回复
指针可以指向任何类型
unituniverse2 2014-05-13
  • 打赏
  • 举报
回复
引用 17 楼 unituniverse2 的回复:
[quote=引用 16 楼 u014377200 的回复:] 变量有什么类型,指针变量就有什么类型。 对么?
不对 比如楼上几位的void*的例子。。。[/quote] 纠正一下,例子并不对应。 指针变量有什么类型,变量就有什么类型 —— 不对,比如void*指针的例子。 变量有什么类型,指针变量就有什么类型 —— 不对,至于例子: int i = 0; int & q = i;// 注意q的类型是int &。 然后&q的类型是int*而不是int& *。后者甚至在语法中都不是个有效的类型。
赵4老师 2014-05-12
  • 打赏
  • 举报
回复
引用 20 楼 lin5161678 的回复:
[quote=引用 3 楼 zhao4zhong1 的回复:] 除寄存器变量和硬件端口变量不能取其指针以外,还有什么变量不能取其指针呢? 请教楼下世外高人:
位域[/quote] 世外高人现身了!
gaoxu634610 2014-05-11
  • 打赏
  • 举报
回复
指针可以指各种数据类型及函数
lin5161678 2014-05-11
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
除寄存器变量和硬件端口变量不能取其指针以外,还有什么变量不能取其指针呢? 请教楼下世外高人:
位域
allenltiverson 2014-05-11
  • 打赏
  • 举报
回复
举个简答的例子 int a = 1; int* p = &a; int* 整形指针,表示这个指针变量保存的是一个整形变量的地址,或者你想要以整形的内存结构来解释指向的内存区域。 所以,不同的指针只是表示你所指向的地址希望解释的方式。各种类型的指针也就不足为奇了。void *是一个较为特殊的指针,表示你还不知道如何去解释指向的这段内存地址。但,有void* 指针,没有void 变量!
arbboter 2014-05-10
  • 打赏
  • 举报
回复
指针变量 指针常量 常量指针 指针数组 数组指针 函数指针 指针函数....
unituniverse2 2014-05-10
  • 打赏
  • 举报
回复
引用 16 楼 u014377200 的回复:
变量有什么类型,指针变量就有什么类型。 对么?
不对 比如楼上几位的void*的例子。。。
C加伽 2014-05-10
  • 打赏
  • 举报
回复
变量有什么类型,指针变量就有什么类型。 对么?
「已注销」 2014-05-08
  • 打赏
  • 举报
回复
只要在内存里面存在的类型,就有该类型的指针啊
unituniverse2 2014-05-08
  • 打赏
  • 举报
回复
只有引用类型不可以有对应的指针类型 不可以取地址的(但不是类型): - 右值 - void型数据(本身不能取址,但是void*指针可以存在的,不过却是从其他类型的值取址而来) - 位域成员 - 引用的指针(可以对被引用的数据取址,但取到的是指向被引用数的指针(值类型的指针),而不是引用类型的指针) - 类类型,且这个类把自己的取址操作符重载并且禁用掉了(但是这个类的指针类型仍然是合法的,只是没法从一个有效的该类的对象获取到指针值)。
ForestDB 2014-05-08
  • 打赏
  • 举报
回复
指针本身就是个类型,不要和指针所指的对象的类型,弄混了。
C加伽 2014-05-07
  • 打赏
  • 举报
回复
楼上各位: 这个谁说说呢?
lin5161678 2014-05-06
  • 打赏
  • 举报
回复
引用 10 楼 lionghua 的回复:
引用 5 楼 lin5161678 的回复:
[quote=引用 4 楼 lionghua 的回复:] 什么类型都可以,void都可以。指针嘛,还有什么不可以指的吗
void* 指针 不是指向void类型数据的
void *p = NULL; void *q = p;[/quote] 这里的 NULL 和 p 都不是void 数据 是 void* 数据 别折腾了 你做不到的 不可能指向void 类型
lionghua 2014-05-06
  • 打赏
  • 举报
回复
引用 5 楼 lin5161678 的回复:
引用 4 楼 lionghua 的回复:
什么类型都可以,void都可以。指针嘛,还有什么不可以指的吗
void* 指针 不是指向void类型数据的
void *p = NULL; void *q = p;
Falleyes 2014-05-05
  • 打赏
  • 举报
回复
引用 2 楼 Falleyes 的回复:
所有基本类型的指针,类及结构体自定义数据类型的指针,void指针,指针的指针。 还可以依据const的声明位置来区分为顶层指针,底层指针,以及普通指针3类(有的指针可以既是顶层指针也是底层指针)。 ps:顶层指针表示指针本身是常量,底层指针表示指针指向常量。
嗯,还有函数指针,总之指针存储着指向的地址,那么这个地址可以是什么东西的地址呢?所以,指针的范围很广,其操作也是C最有灵活性挑战性的一种编程技术。
加载更多回复(8)

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧