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]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)