배열을 코딩을 통해서 확인을 해보겠습니다.
조사식에서 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 |