指针数组的初始化

JefreeCat 2007-10-25 09:55:23
main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int *pa[3]={a[0],a[1],a[2]};编译报错,非法初始化
int *p=a[0];
int i;
for(i=0;i<3;i++)
{printf("%d,%d,%d",a[i][2-i],*a[i],*(*(a+i)+i));}
for(i=0;i<3;i++)
printf("%d,%d,%d",*pa[i],p[i],*(p+i));
}
...全文
145 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
joy_young 2007-10-26
  • 打赏
  • 举报
回复
int *pa[3]={a[0],a[1],a[2]};
这个与编译器很有关系,试试int *pa[3]={&a[0][0],&a[1][0],&a[2][0]};
danteliujie 2007-10-25
  • 打赏
  • 举报
回复

在我这里,Visual Studio 2005 + XP 没有报错阿


void main()
{
int a[3][3] = {1,2,3,4,5,6,7,8,9};
int *pa[3] = {a[0],a[1],a[2]};
int *p = a[0];

int i;
for( i=0; i<3; i++)
{
printf("%d,%d,%d",a[i][2-i],*a[i],*(*(a+i)+i));
}
for( i=0; i<3; i++)
{
printf("%d,%d,%d",*pa[i],p[i],*(p+i));
}
}

70,037

社区成员

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

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