다루두루

블로그 이미지

차케요

공부하면서 정리하는 노트같은 블로그입니다.

c언어 프로그래밍 1차원 배열 이름을 대상으로 한 * 연산

C언어 알고리즘 2015. 8. 22. 21:53

c언어 프로그래밍 1차원 배열 이름을 대상으로 한 * 연산


■ 지난 글에서 배열의 이름은 포인터 형이라는 걸 확인해봤었는데요. 둘이 같다면 배열 이름을 대상으로도 *연산을 할 수도 있고 반대로 포인터를 배열의 이름처럼 사용해서 그 요소에 접근할 수 있다는 의미인데요. 그 과정들을 예제로 살펴보겠습니다. 


 먼저 배열 이름을 대상으로 *연산을 하는 과정입니다. 

▲ int형 배열 a와 double형 배열 b를 각각 선언하고 값을 초기화하고 있는데요. a와 b에 *연산자로 접근하고 있습니다. 지난 글에서 배열의 이름은 첫 번째 요소 [0]의 주소값을 저장한다고 했었는데요. *연산자로 그 자리에 접근해서 저장된 값들을 출력하고 있는 모습입니다. 10과 10.1이 출력되겠죠? 확인해보겠습니다.

 


▲ 예상했던 값이 출력되네요. 그럼 다시 한 번 접근해서 이미 저장된 데이터에 다른 값을 더하는 연산을 해보겠습니다. 가능할까요?


▲ *연산자로 a와 b에 접근해서 각각 50과 40.4를 더하고 있는데요. 값이 제대로 합쳐진 걸 확인할 수 있습니다. 이렇게 포인터 변수에서 할 수 있었던 연산을 배열 이름으로도 똑같이 할 수 있습니다. 참고로 배열과 포인터 변수는 같다고 생각하면 됩니다. 단지 차이점이 있다면 배열 이름은 첫 번째 요소의 주소값을 저장하는데 그 값을 변경할 수 없는 상수이고 포인터는 저장된 주소값을 변경할 수 변수라는 차이점만 있을 뿐입니다. 연산 등 다른 역할은 똑같이 합니다. 

 

 그렇다면 반대로 포인터 변수를 배열처럼 이용할 수 있을까요? 그 역시도 다음 예제에서 확인해보고 마무리하겠습니다.

▲ a는 3개의 요소를 갖는 int형 배열입니다. 그리고 b는 그 배열의 첫 번째 요소의 주소를 저장하는 포인터 변수입니다. 즉 a와 b가 가리키는 요소는 첫 번째 요소인 10이 저장된 메모리의 주소입니다. 그곳에 저장된 값을 출력하기 위해서 배열[인덱스] 값으로 접근하고 있는데요. 포인터 변수 b도 똑같은 형식으로 접근해도 같은 값이 출력됩니다. 이렇게 배열과 포인터 변수는 같은 형식으로 이용할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)
Posted by 차케요

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

카테고리

NEW (900)
아이폰 개발 기초 (7)
취미 (16)
아두이노 (16)
[안드로이드] 어플만들기 (77)
안드로이드 기초 다지기 (61)
슈팅게임 만들기 (4)
[JAVA]자바 공부하기 (48)
C언어 알고리즘 (61)
[Unity3D]유니티3D 강좌 (7)
컴퓨터 (325)
포토샵CS2 강좌 (6)
유용한 프로그램 (244)
리눅스 노트정리 (22)
임베디드 리눅스 (11)
New블로그 (9)
음식의 효능 (4)
일반상식 (56)
HTML 공부 (40)
포토샵 공부 (36)
엑셀 (6)
파워포인트 공부 (19)
노트정리 (38)
일상 (33)
TV영화 (85)
방명록 : 관리자 : 글쓰기
차케요's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

다루두루

공부하면서 정리하는 노트같은 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • NEW (900)
    • 아이폰 개발 기초 (7)
    • 취미 (16)
      • 아두이노 (16)
    • [안드로이드] 어플만들기 (77)
      • 안드로이드 기초 다지기 (61)
      • 슈팅게임 만들기 (4)
    • [JAVA]자바 공부하기 (48)
    • C언어 알고리즘 (61)
    • [Unity3D]유니티3D 강좌 (7)
    • 컴퓨터 (325)
      • 포토샵CS2 강좌 (6)
      • 유용한 프로그램 (244)
    • 리눅스 노트정리 (22)
      • 임베디드 리눅스 (11)
    • New블로그 (9)
    • 음식의 효능 (4)
    • 일반상식 (56)
    • HTML 공부 (40)
    • 포토샵 공부 (36)
    • 엑셀 (6)
    • 파워포인트 공부 (19)
    • 노트정리 (38)
    • 일상 (33)
    • TV영화 (85)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바