二级指针(二维数组)内存分配问题

hl0702xin 2010-06-03 11:28:02
#include <stdio.h>
#include <stdlib.h>
int main()
{
int **sanjiao;//二级指针
int number;
int i;
scanf("%d",&number);
sanjiao=(int **)malloc(sizeof(int*)*number);//完成number*number的二维数组的内存分配

for(i=0;i<number;i++,sanjiao++)
*sanjiao=(int *)malloc(sizeof(int)*number);//出错 ,*sanjiao这样写无法成功,但下面的下标操作着分配可以成功·不能理解
/*for(i=0;i<number;i++)
sanjiao[i]=(int *)malloc(sizeof(int)*number);//这样用下标操作来分配时可以成功
*/
printf("%d\n",sanjiao[1][1]);
return 1;
}
...全文
205 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hl0702xin 2010-06-03
  • 打赏
  • 举报
回复
谢谢··结贴·2了·忘了我把sanjiao自加了··
mstlq 2010-06-03
  • 打赏
  • 举报
回复
int **temp=sanjiao;
for(i=0;i<number;i++,sanjiao++)
*temp=(int *)malloc(sizeof(int)*number);

70,022

社区成员

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

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