int*是什么意思啊,小白问

桌海 2019-03-20 08:39:27
int*是什么意思啊,求大神指点
...全文
19828 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_45588085 2020-02-02
  • 打赏
  • 举报
回复 1
引用 5 楼 火花20180731 的回复:
[quote=引用 4 楼 Slzde_sub 的回复:]


实际是 int *p把。。没有int* p这种类型,只是c++支持这么写以及部分码农的习惯。

int *p是指int型指针p

没有int型指针这一说,指针类型就是指针类型,写成 int* p 或者 int * p 或者int *p 都对。
*在这里的作用相当于类型关键字,指针把其他人的地址存在自己手里,有了地址就可以进入其他人的内存。
但是内存并不会区分数据类型,所以光有个地址,是没有办法确定这块内存以何种格式读写。
前面的int正是充当这样的角色,告知当我们通过指针进入一块目标内存的时候,以int格式读写它。
所以int * p的语意是:声明一个指针变量p,这个指针所存地址对应的目标内存以int格式读写。[/quote]多谢大哥指点
MMagicLoren 2019-03-21
  • 打赏
  • 举报
回复
整型指针,可以把谭浩强的那本书看看
sdghchj 2019-03-21
  • 打赏
  • 举报
回复
引用 12 楼 Slzde_sub 的回复:
[quote=引用 11 楼 火花20180731 的回复:] 如果 int* 不是类型 sizeof(int*)是错的 (int*)0是错的 typedef int* pInt;是错的
如果他是类型 , int* p,n; n就该是指针, 你的举例可以证明他是类型? 说难听点,都是告诉编译器,这里当成int类型的指针处理 看清楚,是int类型的指针 我完全可以写成 sizeof(void*) ,你觉得和你的sizeof(int*) 有区别吗? 真不明白这也要杠,你是告诉编译器这是int*呢? 还是告诉编译器这是指针,但是这个指针的跨度是sizeof(int) ? [/quote] 我觉得你有点杠吧,derived types->pointer types
lin5161678 2019-03-21
  • 打赏
  • 举报
回复 1
引用 12 楼 Slzde_sub 的回复:
[quote=引用 11 楼 火花20180731 的回复:] 如果 int* 不是类型 sizeof(int*)是错的 (int*)0是错的 typedef int* pInt;是错的
如果他是类型 , int* p,n; n就该是指针, 你的举例可以证明他是类型? 说难听点,都是告诉编译器,这里当成int类型的指针处理 看清楚,是int类型的指针 我完全可以写成 sizeof(void*) ,你觉得和你的sizeof(int*) 有区别吗? 真不明白这也要杠,你是告诉编译器这是int*呢? 还是告诉编译器这是指针,但是这个指针的跨度是sizeof(int) ? [/quote] 哦 懂了 声明语法是 类型 变量名 这种说法是受害者 所以你认为 int* p;意思是 声明一个int类型是 *p?? 那么 按照你的理解 typedef int* pInt; 是不是得到一个 int类型别名 *pInt?? 你可不可以用 *pInt n = 10; 定义一个int 类型变量n?? 不行? 为什么? 我说的sizeof 你好像完全听不明白 sizeof的用法你纯背诵的吧 不知道具体要求是什么吧? sizeof语法2种 sizeof(完整对象类型) sizeof 完整对象类型表达式 sizeof(int*) 这里 (int*) 你该不会以为这是一个表达式吧? 不是表达式就只有一种可能性 括号里面写一个类型 听明白了吗?
火花20180731 2019-03-21
  • 打赏
  • 举报
回复
引用 8 楼 Slzde_sub 的回复:
[quote=引用 7 楼 lin5161678 的回复:]
[quote=引用 4 楼 Slzde_sub 的回复:]


实际是 int *p把。。没有int* p这种类型,只是c++支持这么写以及部分码农的习惯。

int *p是指int型指针p
int* 的确是一个类型
怎么写声明都不影响 int* 是不是类型
[/quote]

。。你确定吗?

int* p,n;

你告诉我n是指针变量吗?[/quote]
那你的意思是*p是个变量?
lin5161678 2019-03-21
  • 打赏
  • 举报
回复
引用 8 楼 Slzde_sub 的回复:
[quote=引用 7 楼 lin5161678 的回复:] [quote=引用 4 楼 Slzde_sub 的回复:] 实际是 int *p把。。没有int* p这种类型,只是c++支持这么写以及部分码农的习惯。 int *p是指int型指针p
int* 的确是一个类型 怎么写声明都不影响 int* 是不是类型 [/quote] 。。你确定吗? int* p,n; 你告诉我n是指针变量吗?[/quote] 如果 int* 不是类型 sizeof(int*)是错的 (int*)0是错的 typedef int* pInt;是错的
lin5161678 2019-03-21
  • 打赏
  • 举报
回复
引用 8 楼 Slzde_sub 的回复:
[quote=引用 7 楼 lin5161678 的回复:] [quote=引用 4 楼 Slzde_sub 的回复:] 实际是 int *p把。。没有int* p这种类型,只是c++支持这么写以及部分码农的习惯。 int *p是指int型指针p
int* 的确是一个类型 怎么写声明都不影响 int* 是不是类型 [/quote] 。。你确定吗? int* p,n; 你告诉我n是指针变量吗?[/quote] n是一个 int 毫无疑问 但这和int* 本身是不是一个独立的类型毫无关系 typedef的语法 要求int* 必须是一个类型 sizeof的语法 要求int* 必须是一个类型 强制类型转换的语法 要求int* 必须是一个类型
lin5161678 2019-03-21
  • 打赏
  • 举报
回复
引用 4 楼 Slzde_sub 的回复:
实际是 int *p把。。没有int* p这种类型,只是c++支持这么写以及部分码农的习惯。 int *p是指int型指针p
int* 的确是一个类型 怎么写声明都不影响 int* 是不是类型
火花20180731 2019-03-21
  • 打赏
  • 举报
回复
引用 4 楼 Slzde_sub 的回复:


实际是 int *p把。。没有int* p这种类型,只是c++支持这么写以及部分码农的习惯。

int *p是指int型指针p

没有int型指针这一说,指针类型就是指针类型,写成 int* p 或者 int * p 或者int *p 都对。
*在这里的作用相当于类型关键字,指针把其他人的地址存在自己手里,有了地址就可以进入其他人的内存。
但是内存并不会区分数据类型,所以光有个地址,是没有办法确定这块内存以何种格式读写。
前面的int正是充当这样的角色,告知当我们通过指针进入一块目标内存的时候,以int格式读写它。
所以int * p的语意是:声明一个指针变量p,这个指针所存地址对应的目标内存以int格式读写。
WNs_ACE 2019-03-20
  • 打赏
  • 举报
回复
int是整型类型,存放一个数字的,例如1,2,3,4,5这些数字,而int*就是一个整型的指针类型,是存放一个地址,但是这个地址指向整型的地址。
这个很基本的东西,建议多看书。
qybao 2019-03-20
  • 打赏
  • 举报
回复
问题太笼统了,int指针

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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