|
http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Board&no=12904 [복사]
>
>"더블 포인터와 2차원 배열의 관계는 무엇인가?"
>
>아니 그 전에
>
>"2차원 배열의 동적할당에 더블 포인터가 왜 쓰이는가?"가
>
>
>"더블 포인터와 2차원 배열의 관계는 무엇인가?"
>
>아니 그 전에
>
>"2차원 배열의 동적할당에 더블 포인터가 왜 쓰이는가?"가
>
1. 2차원 배열의 동적할당에 더블 포인터가 왜 쓰이는가?
2차 배열의 동적 할당이라, 그럼 2가지 방법이 있겠죠 *더 많을 수도 있어요 전 삽대가리니까요 :) *
A. char **a;
B. char *a[2];
A 방법은 n * x 를 만들 수 있어요.
======================
n
======================
n+1
======================
B 방법은 2 * x 를 만들 수 있어요.
x x+1, ....
======================
1 |
======================
2 |
======================
A 방법 부터 동적 할당을 하려면, 이미 아시다 시피
malloc 를 써야 되요, 왜냐? char **a 는 선언만 되어 있지, 초기화는 안되있으니까요,
일단 n 을 만들어 줘야 합니다.
a = (char**)malloc(5);
이러면 일단
==========
1
==========
2
==========
3
==========
4
==========
5
==========
가 생겼습니다.
자, 그럼 칸을 만들어 줘야 겠죠
*a = (char*)malloc(20);
이러면 5 * 20 의 동적 배열이 만들어 졌고 ,사용 하는 방법은
a[0] = "AAAAAAAAAAAAAAAAAAAAAA";
printf("%s\n",a[0]);
대충 요런 느낌입니다.
B 방법은 한번 해보시길 바랄게요 ㅋㅋ 어차피 똑같으니 ㅎㅎ
|
Hit : 10816 Date : 2009/05/19 10:14
|