본문 바로가기
카테고리 없음

C 언어의 포인터란?

by minism 2023. 1. 10.

 

 

 

 

 

C 언어의 포인터(Pointer)란 데이터의 주소값(데이터가 저장된 메모리의 시작 주소)을 저장하는 변수다. 그래서 포인트 변수라고도 부른다.

 

포인터를 선언할 때는 담고자 하는 자료형에 *(참조 연산자)를 붙여서 선언한다. 예를 들어 int형 변수의 주소를 저장하려면 int *, char형 변수의 주소를 저장하려면 char *와 같은 식이다.

 

운영체제 내에서 포인터의 크기는 동일하다(32bit 운영체제의 경우 4byte, 64bit 운영체제의 경우 8byte로 동일). 그럼에도 불구하고 포인터 앞에 타입을 명시해주는 이유는 참조 연산자를 통해 값을 참조할 때 타입을 보고 참조할 메모리의 크기를 알 수 있기 때문이다.

 

포인터는 NULL(0)으로만 초기화가 가능하다. 포인터는 선언과 동시에 초기화를 해주는 것이 좋다. 포인터를 포함한 여타 다른 변수들은 초기화를 해주지 않으면 그 안에 쓰레기값이 들어 있게 되는데 포인터는 주소값을 다루는 변수인만큼 초기화를 제대로 해주지 않으면 프로그램의 예기치 않은 종료, 오류를 일으킬 수 있다.

 

포인터에 주소값을 담을 때는 &(주소 연산자)를 사용한다.

 

포인터에 *(참조 연산자)를 사용하면 해당 포인터에 담겨있는 주소 안의 데이터를 가져올 수 있다.

 

함수에 포인터로 메모리 주소를 넘겨줄 경우 해당 객체에 직접 접근하여 값을 변경하는 것이 가능해진다.

 

 

 

 

 

 

 

- References

 

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

 

구름EDU - 모두를 위한 맞춤형 IT교육

구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/

edu.goorm.io

 

 

[C,C++ 강좌]C언어의 꽃 포인터 총정리(*, &), 포인터 사용 예시, 포인터 연산자

[C/C++ 완전정복 링크 ] C/C++ 목차, C/C++강좌, 링크 모음 C언어 문법 C언어란? C/C++언어 역사 및 특징 C/C++ 개발환경 비주얼스튜디오(Visual Studio) 설치 및 빈 프로젝트 생성 비주얼스튜디오 단축키 정리

jhnyang.tistory.com