为什么会出现这样的内存分配错误??molloc()函数问题?
各位大虾,小弟最近碰到了一个大难提,至今仍未能理解,请各位帮帮小弟。
我是用的编译器是Turbo C 2.0 系统环境是Windows2000下的MS-DOS模式。
问题是这样的:我使用fprint()函数存放了一个字符串,然后关闭文件。接着,我使用fscanf()函数读取文件中的内容,经过单步执行,以确认读入的数据正确,然后开始分配内存给链表指针data。问题就在这里,我分配给data的内存地址(data=(struct string *)malloc(sizeof(struct string));与读出的链表地址中的某个节点的地址一致!这是为什么?当我插入数据的时候,当然,data中的新数据也就覆盖了原链表中相同地址的那个节点的数据,天!这是怎么回事啊?