without haste but without rest
[C] 진짜 2차원 배열처럼 동적 할당하는 방법 본문
Reference - https://plas.tistory.com/129
#include <stdlib.h>
#include <stdio.h>
int main(void) {
/*
진짜 2차원 배열처럼 구현하기
1. 배열 선언 (5 x 3 배열)
2. 헤드 포인터 선언
3. 헤드 포인터 연결
4. 데이터 입력
5. 데이터 출력
*/
int count = 0, i, j;
int r = 5, c = 3;
int len = sizeof(int*) * r + sizeof(int) * r * c;
int** arr = (int**)malloc(len);
int* ptr = (int*)(arr+r);
for (i = 0; i < r; i++) {
arr[i] = (ptr + c * i);
}
for (i = 0; i < r; i++) {
for (j = 0; j < c; j++) {
arr[i][j] = count++;
}
}
for (i = 0; i < r; i++) {
for (j = 0; j < c; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
for (i = 0; i < c * r + r; i++) {
printf("%d ", arr[i]);
}
}
'Computer Science > Data Structure' 카테고리의 다른 글
How to implement a queue using two stacks? (0) | 2021.12.08 |
---|---|
[C] 그래프를 표현하는 방법 (0) | 2020.03.13 |
[python] 자료구조 - 힙(Heap) / 우선순위 큐 (Priority Queue) (0) | 2020.02.06 |
[python] 자료구조 - 트리(Tree) / 이진 탐색 트리(Binary Search Tree) (2) | 2020.02.05 |
[python] 자료구조 - 클로즈 해싱(Close hashing) / Open Addressing (2) | 2020.02.04 |
Comments