请问int *p[]和int (*)p[]有什么区别啊?谢谢

fullmoon525 2003-10-09 04:59:17
如题
...全文
109 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yintongshun 2003-10-10
  • 打赏
  • 举报
回复
cxjddd(战士编程)说的很好了
努力偷懒 2003-10-10
  • 打赏
  • 举报
回复
看看《C程序设计吧》这样估计比看这些东西好,因为你连这个都不会区别的话,有人对有人错你也是错的,除非你理解他们说的东西!
jxdsp 2003-10-10
  • 打赏
  • 举报
回复
没区别
cxjddd 2003-10-10
  • 打赏
  • 举报
回复
今天试了, int (*)p[10] 是错的,在 Dev-C++ 里是编译不过。

可能是因为 () 是优先级最高的,所以在 () 里“中心”吧,没找到,所以就出错了:)
Wolf0403 2003-10-10
  • 打赏
  • 举报
回复
int *p 只能指向一维数组。
fullmoon525 2003-10-10
  • 打赏
  • 举报
回复
在用多维数组的时候
int (*p)[] 让后用*(*(p+j)+i)指向数组元素
和int *p 让后用*(*(p+j)+i)有什么区别呢?
谢谢大家的解答
也就是,一个指向一维数组的指针,和一个指钲变量,在指向多维数组,在使用中
有什么不同啊
gwsr 2003-10-09
  • 打赏
  • 举报
回复
int (*)p[]编译能过吗?前一个是指针数组,如果要做数组指针需要这么定义:int (*p) []
mfs 2003-10-09
  • 打赏
  • 举报
回复
C真是博大精深啊!


C723 2003-10-09
  • 打赏
  • 举报
回复
看 int (*p)[] :首先 p 是和 * 结合(因为 () 的优先级最高),那么 p 自然就是指针。 () 外的就是 p 指向的东西了。

int* p[] ,p 先和 [] 结合,所以 p 是数组。数组的元素是 int*。

看了有收获啊!
mfcer2 2003-10-09
  • 打赏
  • 举报
回复
楼主,cxjddd(战士编程) 是对的!
我就不多说了!
ipgk 2003-10-09
  • 打赏
  • 举报
回复
int *p[]:指针数组
int (*p)[]:数组指针
int (*)p[]:没这个!^-^
cxjddd 2003-10-09
  • 打赏
  • 举报
回复
int (*)p[] ??没见过这种写法。是不是 int (*p)[] 啊?

看 int (*p)[] :首先 p 是和 * 结合(因为 () 的优先级最高),那么 p 自然就是指针。 () 外的就是 p 指向的东西了。

int* p[] ,p 先和 [] 结合,所以 p 是数组。数组的元素是 int*。

这个 Bruce Eckel 说得很好,就是看他写的,我才明白。下面是我摘抄的他书上的。

http://tinybaby.y365.com/BenBear/ThinkingInCppDeclaration.xml

明白先右后左就好多了。
AaronChan 2003-10-09
  • 打赏
  • 举报
回复
前面是个指针数组,后面……
我也说不清楚,UP

69,369

社区成员

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

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