请教一点C的基础~~~~特烦的指针问题~~~~~~~~

christopher_hp 2003-07-30 06:39:28
*p[6]和(*p)[6]有什么区别?
我觉得一个是指向数组的指针,一个是指针数组
可是它们分配空间呢?本质上的区别是什么呢
另外**p怎么分配空间呢
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
铖邑 2003-07-30
  • 打赏
  • 举报
回复
补充一下(*p)[]用法很不常见,虽然语法上可以通过,建议不要使用。
铖邑 2003-07-30
  • 打赏
  • 举报
回复
*p[6]是指针数组,p[0]-p[5]总共6个指针。
(*p)[6]是指向数组的指针。
**p是指向指针的指针,空间分配由代码决定。比如可以这样
char **p;
p = new char*[4];
p[0] = new char[10];
p[1] = new char[20];
p[2] = new char[30];
p[3] = new char[40];
这样可以存放4个不同大小的字符串。
kataboy 2003-07-30
  • 打赏
  • 举报
回复
*p[6]是得到p[6]所存储指针的值,(*p)[6]这是返回一个指针。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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