早教吧作业答案频道 -->其他-->
C语言错了吗/*N=ote:YourchoiceisCIDE*/#include"stdlib.h"#defineBLKSIZ80#defineSTKSIZ1000typedefunion{char*link;chardata[BLKSIZ];}BLOCK;staticBLOCK*btmofheap;staticBLOCK*topofheap;staticBLOCK*heap;voidlnitHeap
题目详情
C语言错了吗/* N=ote:Your choice is C IDE */ #include "stdlib.h" #define BLKSIZ 80 #define STKSIZ 1000 typedef union { char *link; char data[BLKSIZ]; }BLOCK; static BLOCK *btm_of_heap; static BLOCK *top_of_heap; static BLOCK *heap; void lnit_Heap() { BLOCK *ptr; int blk; heap=(BLOCK *)malloc(BLKSIZ); btm_of_heap=heap; ptr=heap; for(blk=0;blklink=(BLOCK *)malloc(BLKSIZ); ptr=ptr->link; } ptr->link=NULL; top_of_heap=ptr; } void my_free(void*ptr) { if(ptr>=btm_of_heap) { if(ptr link=heap; heap=ptr; return; } else if(free(ptr)) { return; } } gets("\n Attempt to free unallocated block!\n\7"); exit(1); }
▼优质解答
答案和解析
你的程序连编译都没有通过. 要特别注意,同种类型的变量才能相互赋值. 尤其是这种类似于c++里的class的共同体union,要注意他的指针用法.... 多去看看关于这方面的书吧.. 而且要注意语言的格式,看你的代码感觉有点...
看了C语言错了吗/*N=ote:Y...的网友还看了以下:
C语言错了吗/*N=ote:YourchoiceisCIDE*/#include"stdlib.h" 2021-01-05 …