나는 행렬에 메모리를 할당하기 위해 malloc
을 사용하고 있지만 나중에 행렬에 요소를 설정하는 모든 액세스를하면 세그먼트 오류가 발생합니다. 이것은 내가 지금 무엇을C에서 행렬에 메모리를 할당하면 나중에 행렬에 액세스 할 수없는 이유는 무엇입니까?
을하고 있어요된다
int **matrix = malloc(rows_number * columns_number * sizeof(int));
if (matrix) matrix[0][0] = 1;
이유는 매트릭스에 액세스 할 수 없습니다이 생성 된 후? malloc
호출이 성공하므로 전체 행렬에 대해 충분한 인접 메모리가 있습니다.
malloc에 대부분의 C 언어의 일부에 의문을 제기, 적어도 이해 - 이것은이 주제에 대해 다른 모든 상상할 수있는 질문에 대한 답변의 과다 여기와 다른 곳에서 검색하십시오 같은 것을보십시오. 솔직히, 나는 질문을하지 않은 malloc에 대한 질문이 있다고 믿을 수 없어 - 대답 : – KevinDTimm
[C에서 할당 매트릭스] 가능한 중복 (http://stackoverflow.com/questions/2128728/allocate- matrix-in-c) – KevinDTimm
이 질문에 대한 상위 답변보기 : –
BimmerM3