본문으로 바로가기

C언어 17일차(2차원 배열)

category 스마트팩토리/C언어 2020. 10. 29. 13:59

 

배열을 코딩을 통해서 확인을 해보겠습니다.

 

조사식에서 iArray[0][0]에 100을 넣었다. 그러면 밑에 메모리에 64 00 00 00이 들어가게 되는것을 볼수 있다.

조사식에서 iArray[1][0]에 200을 넣었다. 그러면 밑에 메모리에 c8 00 00 00이 들어가게 되는것을 볼수 있다.

조사식에서 iArray[2][0]에 300을 넣었다. 그러면 밑에 메모리에 2c 01 00 00이 들어가게 되는것을 볼수 있다.

iArray[0]을 치게 되면 0행줄의 주소를 나타내기에 들어가있는것을 다 나타낸다.

나머지 iArray[1],iArray[2]도 그렇게 생각하면 된다.

 

표기법에는 배열식방법(&A[1])과 포인터식 방법(A+1)이 있다.

여기에서도 배열식과 포인터식을 표현을 예를 통해서 하려고 한다.

iArray[3][4]에서

iArray[1][2]

=*(iArray[1] + 2)

=*(*(iArray+1) + 2)

=*(iArray[1] + 2)

=*(iArray+1)[2]

 

밑에 메모리창에서 보게 되면 배열이라는것을 확인할수 있습니다.

INT형식이기때문에 4바이트로 나뉘어서 [3][4]이 된것을 알수 있습니다.

 

Tip

 

배열에 &을 넣게 되면 전체를 나타나게 된다.

[] ,*을 쓰게 되면 차수가 낮아진다.(2차원이면 1차원으로)

 

1차원 배열에서의 이름 + 숫자 는 항 이동을 뜻한다.
2차원 배열에서의 이름 + 숫자 는 행 이동을 뜻한다.(2차원 배열에서 +할때의 숫자는 한 줄의 크기이다.)

'스마트팩토리 > C언어' 카테고리의 다른 글

C언어 20일차(구조체)  (0) 2020.11.05
C언어 18일차(2차원 배열)  (0) 2020.10.31
C언어 16일차(컴파일러)  (0) 2020.10.28
C언어 15일차(배열)  (0) 2020.10.27
C언어 14일차(배열)  (0) 2020.10.23