在C语言程序中,指针数组可以用malloc函数生成吗?

 我来答
风若远去何人留
推荐于2017-09-28 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450129
专业C/C++软件开发

向TA提问 私信TA
展开全部
可以的,任何存储空间,均可以通过malloc函数生成。指针数组也不例外。
以下是一个生成10个char*型的指针数组的代码,要存储char*型的数组,其数组名,即指针类型,必须为char**型。
char ** p;
p = (char **) malloc(sizeof(char *) * 10);

这里需要注意两个地方:
1 指针的强制转换。
malloc的返回值为void*型,所以在赋值给char**型时,要强制转换为目标类型。部分编译器对此检查不严格,但为了可移植性,还是加上强制转换为好。
2 malloc参数的确定。
malloc参数值为申请内存空间的大小,每个char *型的空间为sizeof(char *), 10个空间就再乘10。

一般来说,无论是何种类型TYPE,在申请时均可以写作
TYPE * p = (TYPE*)malloc(sizeof(TYPE) * N);
这样的形式。
jackwind1987
2012-11-30 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:489万
展开全部
可以用malloc分配一块空间,存储很多指针,也可以简单理解为一个存储指针数组
int **p = (int**)malloc(sizeof(int*) * n);
p[0] ~ p[n-1]就是存储int*的数组。
更多追问追答
追问
你写个代码给我吧!
追答
上面那句就是啊啊啊~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上帝来自地球
2012-11-30 · TA获得超过1436个赞
知道小有建树答主
回答量:438
采纳率:100%
帮助的人:412万
展开全部
null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式