3 回答
TA贡献1条经验 获得超0个赞
使用malloce命令不是只需要在头文件加入 #include <stdlib.h> 吗?
怎么你的头文件确实却多了一个 #include<malloc.h> ? 我不懂,望解答。
还有个问题我想问你:
void * malloc(unsigned int size) 这个命令,
为啥例子是这样写的: malloc(100); 分配100个字节
我又看到这样用的:(int *)malloc(5 * sizeof(int)); 我知道sizeof(int)是测量本系统int型单位字节数,但我不明白为什么在前面要加个 * 号?这样有啥意义吗?
还有就是另一个命令void * calloc(unsigned n,unsigned size); 这个怎么用,比如我要开辟一个N个长度为size的连续空间,保存一个 char * 型的指针数组 那如何实现?我的想法是比如:
(char *)calloc(50,4); 开辟50个长度为4字节的连续空间
但我又怕会不会是这样:
(char *)calloc(50,4 * sizeof(char)); 这样有问题吗?可以加 * 号吗?
可以sizeof(char)测量char型的单位字节数?恐怕这不能这样测量吧!!!???
希望大神解答
TA贡献6条经验 获得超0个赞
这个问题是,前几天学习链表的创建,所疑惑的地方.
现在我有答案了
循环创建动态内存,如上边代码 int * i.
i 的地址是不会变的,但i里边保存即是指向的地址是每次循环就变动一次.
创建出来不知名的动态内存,没有被释放,系统还是把那些内存分配给了该程序.
但程序员已经找不到了.
- 3 回答
- 1 关注
- 2343 浏览
添加回答
举报