C语言如何给用函数二维数组动态赋值

 我来答
幸淑英中妆
2020-03-06 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:29%
帮助的人:901万
展开全部
1、当成普通数组使用,用for循环即可赋值。
2、例程:
#include

#include

int
main(void)
{
int
*a=NULL;
int
i;
a=malloc(sizeof(int)*10);/*动态创建一个有10个int元素的数组*/
if
(a==NULL)
{
/*a==NULL表示空间分配失败*/
fprintf(stderr,"MEMORY
ERROR");
return
-1;
}
for
(i
=
0;
i
<
10;
i++)
{
a[i]=i;
/*对数组进行赋值操作*/
}
free(a);/*动态分配的空间需要用free()函数释放*/
return
0;
}
萨萱梁子
2020-04-05 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:29%
帮助的人:943万
展开全部
二维数组名不能直接传给二级指针,应该按以下方式使用:
int nChoose;
scanf("%d", &nChoose); // 让用户输入二维数组的大小
int **a = (int **)malloc(nChoose * sizeof(int *));
for (int i = 0; i < nChoose; i ++)
{
a[i] = (int *)malloc(nChoose * sizeof(int));
}
Scan(a, nChoose);
Calc(a, nChoose);
// 最后要释放数组,也要循环
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张简智麻辰
2020-03-14 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:26%
帮助的人:913万
展开全部
二维数组名不能直接传给二级指针,应该按以下方式使用:
int
nChoose;
scanf("%d",
&nChoose);
//
让用户输入二维数组的大小
int
**a
=
(int
**)malloc(nChoose
*
sizeof(int
*));
for
(int
i
=
0;
i
<
nChoose;
i
++)
{
a[i]
=
(int
*)malloc(nChoose
*
sizeof(int));
}
Scan(a,
nChoose);
Calc(a,
nChoose);
//
最后要释放数组,也要循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式