问题:
这几天在研究一个图书馆信息管理系统的代码,结果在第一步就出错,一直报错
其中的 deroy_list_create函数 是为一个结构体指针申请内存空间,并对其该结构体的成员变量进行赋值,函数大致如下
报错之后发现:结构体指针确实被返回了,但是通过该指针无法访问结构体变量
之后使用F11一步步进行仿真,发现进入deroy_list_create函数后,其结构体成员是可以访问的,通过函数返回到主函数之后就无法访问其变量了,最后反复的检查,发现是 deroy_list_create 函数未声明,deroy_list_create函数是位于student.c文件中,虽然主函数中引用了student.h头文件,但是在student.h头文件中并未对deroy_list_create函数进行声明,搞不懂为什么这种情况下编译器没有识别出来那个函数没有声明,并且没有声明的函数还能直接跳转,太离谱了!
总结:
出现“读取访问冲突”的提示时,有可能是为指针申请内存空间的函数为声明!
因为这个问题卡了好多天,一直认为时自己malloc函数用的有问题,最后发现竟然是函数为声明这种低级错误。在网上搜了很久,没有看到和我一样的问题的,因此在这里记录一下,希望对以后出现相同问题的朋友有所帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)