关于 malloc 函数

来源:7-7 动态内存分配【突破面试高频考点】

满天星爱我

2022-02-18

老师,我发现在开辟空间的时候,也可以这样写,不需要sizeof(int) * length, 最后初始化的数组也有10个元素,这样会有问题吗:
void initPointer(int **ptr, int length, int default_value){
*ptr = malloc(sizeof(int));
for (int i = 0; i < length; ++i) {
(*ptr)[i] = default_value;
}
}

写回答

2回答

bennyhuo

2022-02-18

打个比方,你只有一亩地,然后种了10亩,你看那9亩地的主人会不会找你麻烦

0
1
满天星爱我
非常感谢!
2022-02-19
共1条回复

bennyhuo

2022-02-18

你只开辟了一个int的空间,然后用了10个的空间。

1
0

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程