ARM 마이크로 컨트롤러에서 C 프로그램을 작성하면 2D 배열에 값을 할당하려고 할 때 하드 오류가 발생하며이 문제가 발생하는 이유는 전혀 없습니다.2D 배열에서 값을 assing 할 때 하드 폴트 C
#include "GLCD.h"
#include <LPC17xx.H>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
const size_t w = 319;
const size_t h = 239;
int main (void) {
bool univ[h][w];
int x,y;
for (x = 0; x < w; x++) for (y = 0; y < h; y++) {
univ[y][x] = 1;
}
while (1);
}
감사
루프 주위에 bracebrackets이 필요합니다. – Yetti99
@TheParamagneticCroissant,주의 깊게 살펴보면 그의 치수와 인덱스가 실제로 제대로 정렬되어 있음을 알 수 있습니다. –
컴파일러가'bool'을 어떻게 저장하는지에 따라 그 배열은 ~ 75K와 ~ 300K 사이의 스택 공간을 소비합니다. 너의 스택이 충분히 큰가요? –