Friday, May 04, 2007
C언어] 별표(*) 기호 의미, 뜻; Asterisk Pointer Operator 백설표;애스터리스크
C에서는, 같은 별표(*;백설표;애스터리스크) 문자라도 여러 의미로 사용됩니다.
(1) 우선 곱하기 연산자입니다. X 가 아닌 * 를 사용하여 곱하기를 합니다. 이것은 다 아실 것입니다.
(2) 포인터 변수를 선언할 때 별표를 사용합니다.
int i = 999;
int *cool = &i;
위에서 cool 이라는 변수는 앞에 별표가 있기에, 보통 변수가 아니라 "포인터 변수"입니다. 위의 경우 변수 i 의 주소를 cool에 저장하는 것입니다. 또는
int* cool = &i;
이렇게 별표를 앞쪽으로 붙여도 똑같습니다. (그리고 & 이것은 어떤 변수의 주소를 구하는 "주소 연산자"입니다.)
(3) 포인터 변수가 가리키는 값을 추출할 때 별표를 사용합니다. 가령
int i = 999;
int *cool = &i; // 여기의 *cool 과
printf("%d\n", *cool); // 여기의 *cool 은 다름
이런 소스에서 printf 속의 *cool 이것은 999 라는 값을 의미합니다. (2)번 별표와 (3)번 별표를 혼동하기 쉽기에 주의가 필요합니다.
좀더 자세한 예제는 여기에 있습니다: ▶▶ C언어] printf 함수에서 %p 의미. 변수 번지, 포인터 변수 주소 출력; Print Pointer Address
(1) 우선 곱하기 연산자입니다. X 가 아닌 * 를 사용하여 곱하기를 합니다. 이것은 다 아실 것입니다.
(2) 포인터 변수를 선언할 때 별표를 사용합니다.
int i = 999;
int *cool = &i;
위에서 cool 이라는 변수는 앞에 별표가 있기에, 보통 변수가 아니라 "포인터 변수"입니다. 위의 경우 변수 i 의 주소를 cool에 저장하는 것입니다. 또는
int* cool = &i;
이렇게 별표를 앞쪽으로 붙여도 똑같습니다. (그리고 & 이것은 어떤 변수의 주소를 구하는 "주소 연산자"입니다.)
(3) 포인터 변수가 가리키는 값을 추출할 때 별표를 사용합니다. 가령
int i = 999;
int *cool = &i; // 여기의 *cool 과
printf("%d\n", *cool); // 여기의 *cool 은 다름
이런 소스에서 printf 속의 *cool 이것은 999 라는 값을 의미합니다. (2)번 별표와 (3)번 별표를 혼동하기 쉽기에 주의가 필요합니다.
좀더 자세한 예제는 여기에 있습니다: ▶▶ C언어] printf 함수에서 %p 의미. 변수 번지, 포인터 변수 주소 출력; Print Pointer Address
tag: cpp
C언어 | C/C++ (Visual C++)
<< Home