2013-02-18 2 views
2

나는 나의 구조체의 2에 의해 매트릭스 인 필드 재설정하는 IBButton을 사용 EXC_BAD_ACCESS (코드 = 2 개 주소 = 0x0으로)

지뢰 찾기 아이폰 응용 프로그램을 만들려고 노력하는이 새로운 오전

- (IBAction) Reset { 
    for (int x = 0 ; x < 10 ; x ++) { 
     for (int y = 0 ; y < 10 ; y++) { 
      f[x][y]->isOpen = NO; 
      f[x][y]->display = 0; //Going to make a search function for finding Number of mines next to it 
      int random = arc4random()%10; 
      if (random < 2) { 
       f[x][y]->isMine = YES; 
      } else { 
       f[x][y]->isMine = NO; 
      } 
     } 
    } 

는 그래서 난 [X] [Y] 루프 F 내의 첫 번째 줄에 오류 얻을 -> ...

내가 여기에 잘못 했는가?

/편집

이 내가 당신은 너무 f[x][y] 그냥 정크 메모리를 포함하고 ->isOpen = NO 액세스 날려 버리겠다, F에 대한 공간을 할당하지 않은 내 F

struct feild *f[10][10]; 
struct feild{ 
    bool isOpen; 
    bool isMine; 
    int display; 
} 
+3

당신은'f'의 정의를 포함하지 않았기 때문에, 말하는 것은 꽤 어렵습니다. –

+0

struct feild * f [10] [10]; struct feild { bool isOpen; bool isMine; int 디스플레이; } – teemo

+0

호기심 때문에 "필드"대신 "feild"라는 이름을 지정한 이유가 있습니까? –

답변

1

을 선언하는 방법입니다.

당신은 당신의 코드 앞에

for (int i = 0; i < 10; i++) { 
    for (int j = 0; j < 10; j++) { 
     f[i][j] = malloc(sizeof(struct feild)); 
    } 
} 

같은 것을 할 필요가있다.

관련 문제