XcodeバージョンV13.2.1
問題はタイトルと同じですが、最初にばかげて間違っている解決策を紹介します:(
手順はブログからのものです)
このメソッドの機能は次のとおりです。デバッグオフ、 言い換えるとこのメソッドはエラーを「修正」します
解決:
トピックに戻ると、EXC_BAD_ACCESS
この種のエラーはコード自体に問題がある可能性があります。これは通常、次の理由によります。システムは、解放されたメモリ領域にアクセスします、たとえば次のコードで:
- 構造(ノード)を定義し
Node
ます。各ノードオブジェクトは別のノードを指すことができるため、ノードチェーンを形成します InitNode()
ノードにスペースを割り当てるための初期化関数を定義します- 主な機能では、n1、n2を宣言しますが、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;
}