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

hl0702xin hl0702xin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#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;
}
...全文
评论 2
收藏 已收藏
分享
返回顶部
hl0702xin
C语言 70,039 成员 243,237 内容