Xcode 版本 V13.2.1
首先介绍一个问题,比如问题。解决方法: (步骤来自博客) 该方法的作用是关闭调试,换言之该方法可以解决任何错误
解决方案:
回到正题,EXC_BAD_ACCESS
这种错误的报告很可能是代码本身的问题,通常是因为系统访问已释放的内存区域,例如,在以下代码中:
- 定义结构体
Node
(结点),每个结点对象都可以指向另一个结点,从而形成一个结点链 - 初始化函数的定义
InitNode()
,给结点分配空间 - 在main函数中,声明n1、n但只是初始化n1(给n1分配空间)。因为没有给n2分配空间,所以出现在最后一行
EXC_BAD_ACCESS
报错
typedef struct{
struct Node *next; }Node, *NodeHead; void InitNode(NodeHead *NH){
*NH = (Node *)malloc(sizeof(Node)); (*NH)->next = NULL; } void main(){
Node *n1, *n2; InitNode(&n1); n1->next = n2; n2->next = n1; }