상세 컨텐츠

본문 제목

visual stdio 2019 - (10단원 예제풀이) 배열

카테고리 없음

by 썽심 2023. 10. 16. 14:32

본문

728x90

1016

TOOL : visual stdio 2019 

참고 책 : 혼자 공부하는 C언어 개정판 / 한빛아카데미 - 서현우

 

이미지, 폰트 같은 것들을 배열로 저장을 한다.

 

 

주소값을 보이게 다시 코드를 추가해줌

 

 

포인트로도 address를 찍어서 확인해봤다

P : 포인터

A : 배열

즉 둘은 같은 맥락으로 사용가능하다.

 

 

Char 형을 추가해서 확인해 봤다.

나타나는 값은 Address / Index / Data 이 순서로 값이 나오게 된다.

 

 

 

 

 

 

 

 

10-2

포인터 변수를 받아서 사용하고싶다.

 

ary  << Base_Address 

offset 단위로 넣어주면 된다.

 

*pa : Address 의 단위로 값을 저장(? Address라는 그릇을 저장)

 

배열과 포인터

같지만 왜 포인터를 쓸까?

데이터가 있으면 굳이 데이터를 카피해서 오지않고 자유롭게 데이터 변경이 가능하기 때문에 ------------ 사용 data 절약

 

 

ex) ai 이미지 >> 계산해서 쓰려면 어마어마한 data를 사용하게 된다.
따라서 포인터를 사용하게 되면 부분 부분만 필요한 부분에 사용하면 해결 완료.

 

 

또한 배열명과 포인터의 차이는 SIZEOF에서 나타나는데

 

SIZEOF >> SIZE를 나타내주는 변수

 

SIZEOF의 연산결과가 다르다

 

int ary[3];

int *pa = ary;

 

sizeof(ary)

sizeof(py)

 

포인터는 값을 바꿀 수 있음

 

배열명은 값을 바꿀수 있음

바꾸려면 index 필요함

 

ary는 index 필요

pa는 index 필요 x  >>>> 왜? 자기 자신이 address가 될 수있기때문에

 

 

sizeof를 통한 비교

Address 값은 변화 x

pa size가 ary보다 작음을 확인했다.

 

 

IORD /  IOWR과 같은맥락

 

 

 

 

배열에 값을 입력하는 함수

최대 값 찾아 shorthing(정렬) 후 최대값을 찾기 >> size 계산할 필요없다.

p314

 

 

 

 

728x90