티스토리 뷰
반응형
2차원 배열을 동적할당으로 생성해 보겠다.
먼저 간단하게 소스를 보면 다음과 같다.
#include <stdio.h>
#define SIZE 10
int main(void)
{
int i=0, j=0;
int** A;
// 동적할당
A = (int**)malloc(sizeof(int*)*SIZE);
for(i=0;i<SIZE;i++)
{
A[i] = (int*)malloc(sizeof(int)*SIZE);
}
// 배열의 모든 값에 1을 저장
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
{
A[i][j] = 1;
}
}
// 저장된 배열 값 출력해서 확인
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
{
printf("%5d",A[i][j]);
}
printf("\n");
}
// 2차원 배열 메모리에서 Free
for(i=0;i<SIZE;i++)
{
free(A[i]);
}
free(A);
return 0;
}
프로그램을 실행시켜보면 다음과 같이 잘 돌아가는 모습을 확인할 수 있다.
2차원 배열을 쓰기 위해서는 먼저 더블포인터를 이용해야 하고, 이를 할당하기 위해서는 반복문을 이용해야 한다.
위의 예제 코드에서는 10 x 10 사이즈의 배열을 생성하여 모든 값에 1을 저장후 출력해본뒤 free 시키는 단계로 작성된 것이다.
그리고, 마지막으로 free 시켜줄 때에도 반복문을 이용해서 free 시켜줘야 하는데 이때 순서가 malloc 할때와 반대로 free 됨을 주의해야 한다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 무료복원
- LG워치
- Chromecast
- 워치어베인 2nd 에디션
- 가죽여권케이스
- 워치어베인
- AR스티커
- 글자수 세기 프로그램
- 글로벌자동차유리
- 미성년자녀증여세
- AR Stickers
- 글자수 세는 프로그램
- LGG6
- 에어팟안드로이드
- 증여세셀프신고
- LG워치 어베인
- 오드컨테이너
- 커플여권케이스
- 자동차유리스톤칩
- 크롬캐스트
- 가죽여권지갑
- LGPay
- 여권케이스
- 크롬캐스트2
- 유리스톤칩
- 워치어베인 2nd edition
- 커플여권지갑
- 앞유리돌빵
- LG페이
- chromecast2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함