외랑 님이 쓰신 글 :
: 2차원 배열이라고 해서 어렵게 생각하실 필요 없습니다.
: 1차원 배열인데 다만 배열의 원소 하나 하나가 배열인 것이지요..
:
: 예에서 char a[][10] = {"dog","pig","tiger");
: 라는 문장을 살펴보면 a는 []배열이고 각 원소는 10개의 char로 구성된 배열이다.
: 혹은 a는 char 포인터 배열이고 각각의 포인터는 10개의 char로 이루어진 공간을 가리킨다.
: 초기화를 했기 때문에 처음의 개수는 표기없이 []로 적을 수 있습니다.
: 연이어 " " 로 3개가 나타나기 때문에 컴파일러가 몇개의 요소로 잡아줘야 하는지 알 수 있기 때문이죠.
: 만일 초기화 하지 않는다면 반드시 a[3][10];라는 형태로 표기해야 선언이 제대로 이루어 집니다.
:
: 그래서 밑의 출력문에서
: a[0]은 a의 첫번째 요소는 "dog"이 되며
: a[1]은 두번째 요소인 "pig"
: a[2]는 세번째 요소인 "tiger"인 것이죠.
:
: 더 깊이 들어가면 머리 아파지니까 가볍게 여기까지만 살펴보고,
: 또 궁금하신 내용은 다시 질문을 하시면 될 꺼에요..
:
:
: 내꺼. 님이 쓰신 글 :
: : char a[][10]={"dog","pig","tiger");
: : 2차원배열은 맞는데 이걸 어찌해석해야하는지여....
: : printf("%s",a[0]); --> dog
: : printf("%s",a[2]); -->tiger
: : 이렇게 결과가 나오는데 잘 이해가 안가여~ ㅠ.ㅠ 도와주세요...^^
|