编写程序,利用malloc函数开辟动态存储单元,存放输入的三个整数。然后按从大小到大的顺序输出这三

编写程序,利用malloc函数开辟动态存储单元,存放输入的三个整数。然后按从大小到大的顺序输出这三,第1张

一衫瞎般的做法是把malloc和free包装以后使用,再加入适当的调试代码。可以参考:编写无错的C程序的秘诀渗裂的电子版。比如:free(p)包装一个函数:

void Free(void *p) {

if (p != NULL) {

free(p)

p = NULL

}

}

至于malloc,或喊空一般的做法是分配size个字节的内存时,多分配一个调试用的结构体,然后把这些结构体做成链表,可以通过查看这个链表找到野指针。

一:A、LIST_INIT_SIZE是初始化时一次分配的内存大小,共100个ElemType类型

这个大小用listsize来表示

B、LISTINCREMENT用于追加内存,当初始化分配的内存用完后,需用realloc函数追加,

而一次追加的内存大小就是10个ElemType类型

C、初始化分配了内存,表明这些内存可以被本程序使用,但本程序究竟使用了所分配的多大的内存,

这就是length的作用,共使用了length个ElemType类型

二、L.listsize为int类型,LIST_INIT_SIZE是盯仔个整型数据,当然可以赋值

三、L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType))只知衡是分配了一个大小为100个搭则做ElemType

类型的连续的内存空间,并且用指针L.elem指向这段空间的第一个ELemType,

因为是连续的 ,所以可以认为是数组L.elem[100]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12236481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存