为什么会出现“段错误”?

beiguo1010 2005-12-21 10:49:38
各位大侠,我写了这么一句代码:
int (*cpoint)[2]={{23,33},{35,33}};然后依次在屏幕上输出,却提示段错误。
然后,我改为:
int *cpoint[2]={{23,33},{35,33}};再依次在屏幕上输出,还是提示段错误。
是不是对于int指针不能够用具体数据来初始化,而只有对字符指针可以这样做?
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
beiguo1010 2005-12-23
  • 打赏
  • 举报
回复
为什么对char类型的就能够实现呢?
piaochen_2002 2005-12-21
  • 打赏
  • 举报
回复
错了.
int main()
{
int p[2]={1,2};


int (*cpoint)[2];
cpoint=&p;

cout<<*(cpoint[0])<<endl;

return 0;
}
piaochen_2002 2005-12-21
  • 打赏
  • 举报
回复
int main()
{
int p[4]={1,2,3,4};


int (*cpoint)[2];
cpoint=&p;

cout<<*(cpoint[0])<<endl;

return 0;
}
zhousqy 2005-12-21
  • 打赏
  • 举报
回复
2个定义都错鸟。
int (*cpoint)[2] ---这是定义了一个指针,指向一个有2个元素的int数组。
int *cpoint[2]----这个是定义了有2个int *型的元素的数组。
所以你的初始化都是错的。

69,336

社区成员

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

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