C,C++

C 포인터

2021. 6. 6. 14:58
목차
  1. 참조연산자란?
  2. 주소연산자란?
  3. 포인터의 선언
728x90

들어가기 전 포인터란 무엇인가에 대해 간단하게 알아보자면 배열이나 값의 메모리 속 주소를 저장해주는 것입니다.

#include <stdio.h>

int main(){
	int *point;
    	int* point1;
    	int * point2;
    // 포인터 선언
    	int n = 10;
    //일반 변수
 	point = &n;
    printf("%d", point);

    }

들어가기 전 포인터와 이 간단한 코드에 대해서 이해하기 위해서 몇가지를 알려드리겠습니다.

참조연산자란?

참조 연산자는 * 을 말하며 포인터의 이름이나 변수의 주소 앞에 사용하여,
포인터에 가리키는 주소에 저장된 값을 반환합니다. 

위 코드에서는 *point , 등으로 포인터 변수를 만드는데 사용해 주었습니다만 3개의 포인터 변수들에 참조연산자의 위치가 모두 다른것을 볼 수 있으신데 이렇게 하더라도 포인터 변수는 아무런 문제 없이 생성이 된다는 것을 알 수 있습니다.

주소연산자란?

주소 연산자는 &(앰퍼샌드) 을 말하며 변수의 이름앞에 사용되어 변수의 주소값을 반환합니다.
위 코드에서는 포인터 변수 안에 n의 주소값을 넣기 위해 point = &n의 형식으로 사용된 것을 볼 수 있습니다.

위 개념들을 알았다면 기초부터 포인터에 대해 알아보도록 하겠습니다.

포인터의 선언

포인터의 선언은 위에서 보다시피 다른 변수들과 비슷하게 [(변수형)]+[ *(참조연산자)]+[변수이름] 으로 선언해주시면 됩니다. ex> int *num; 

위 과정들을 알았고 그렇다면 위의 코드의 실행결과는 어떻게 될까요

이렇게 n의 주소값이 출력 됩니다. 주소연산자로 n의 주소를 포인터 변수에 넣어주었기 때문에 이렇게 출력이 되는 것입니다.

#include <stdio.h>

int main(){
	int *point;
    	
    // 포인터 선언
    	int n = 10;
    //일반 변수
 	point = &n;
    printf("%d", *point);

    }

이 코드의 출력값을 어떻게 될까요

n의 입력값이 출력된다.

에구머니나 n의 입력값이 출력이 되네요. 그 이유는 포인터의 참조연산자에 있습니다. 아까 전의 코드에서는 point를 출력했기 때문에 n의 주소값이 출력이 됐습니다. 하지만 여기서 참조연산자를 사용해주어서 n의 주소값에 저장되어 있는 입력값을 참조해 올 수 있던 겁니다. 

 

#include <stdio.h>


int main() {
    int * point;
    int *point1;
    int* point2;
    // 포인터 선언
    int n = 10;
    point = &n;
    point1 = point;
    printf("%d", *point1);

}

따라서 이렇게 하더라도 똑같이 n의 값 10이 나오는 마법을 볼 수 있습니다. 

저작자표시 (새창열림)

'C,C++' 카테고리의 다른 글

2167번 2차원 배열의 합  (0) 2021.07.21
11047번 동전0  (0) 2021.06.19
10773번 제로 C  (0) 2021.06.15
풀어보려 시도 해본 문제들 (백준 : 1009번, 14647번, 2136번)  (0) 2021.06.09
백준 20492번 세금  (0) 2021.06.09
  1. 참조연산자란?
  2. 주소연산자란?
  3. 포인터의 선언
'C,C++' 카테고리의 다른 글
  • 11047번 동전0
  • 10773번 제로 C
  • 풀어보려 시도 해본 문제들 (백준 : 1009번, 14647번, 2136번)
  • 백준 20492번 세금
코춘대길
코춘대길
우리의 인생은 우리가 노력한 만큼 가치가 있다. 2021~2023 고등학생, 2024 ~ Technical Architect 2025~2027 육군정보보호병
무지성 컴퓨터 성장일기우리의 인생은 우리가 노력한 만큼 가치가 있다. 2021~2023 고등학생, 2024 ~ Technical Architect 2025~2027 육군정보보호병
코춘대길
무지성 컴퓨터 성장일기
코춘대길
전체
오늘
어제
  • 분류 전체보기 (164)
    • 수상 실적 (8)
    • 네트워크 (133)
      • 보안 (3)
      • 서버 (20)
      • 클라우드 컴퓨팅 (25)
      • 네트워크 일반 (76)
      • 무선 네트워크 (3)
      • 네트워크 가상화, 자동화 (5)
      • 통신 설비 (0)
    • 정보보안산업기사 (0)
    • 시스템 (5)
    • Web (6)
    • C,C++ (8)
    • 사무 (2)
      • 엑셀,파워포인트 (2)
    • 일상 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • alb
  • 클라우드 컴퓨팅
  • cisco nat
  • 실장비 초기화
  • 동적라우팅
  • 컨테이너
  • 컨테이너 오케스트레이션 툴
  • 도커
  • Session Manager
  • 실장비
  • System manager
  • 실행주기
  • flooding
  • vmnet
  • CISCO
  • 네트워크 보안
  • AWS
  • 개어려움
  • 토폴로지
  • syn flooding

최근 댓글

최근 글

hELLO · Designed By 정상우.
코춘대길
C 포인터
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.