int* a
and int *a
?int* a
와 int *a
는 문법적으로 동일하며, 차이가 없다. 두 표현 보두 a
가 int
형 데이터를 가리키는 포인터임을 의미한다.
C/C++에서 포인터 선언 시, *
는 포인터임을 나타내는 기호이다. 하지만 *
와 변수명 사이에 공백을 두는 것은 프로그래머의 코딩 스타일 차이일 뿐, 컴파일러가 이해하는 의미는 동일하다.
int* a; // a는 int형 데이터를 가리키는 포인터
int *a; // a는 int형 데이터를 가리키는 포인터
a
는 모두 int
형 변수를 가리킬 수 있는 포인터 변수로 선언된 것.이러한 스타일 차이로 인해 포인터를 여러 개 선언할 때는 주의가 필요하다.
int* a, b;
a
만 int
형 포인터이고, b
는 일반 int
형 변수임.다음과 같이 선언하는 것이 좋다
int *a, *b; // a와 b 모두 int형 포인터로 선언됨.