int * p와 int p * 및 int * p의 차이점은 무엇입니까?


최상의 답변

음, 다음과 같은 것은 없습니다.

int p*;

잘못된 문장입니다.이 코드에서는 컴파일 오류가 발생합니다.

반면에 int * p int * p는 기본적으로 동일합니다. 스타일의 문제 일뿐입니다. C / C ++ 컴파일러에 관한 한 int * p 또는 int * p를 작성하는 것은 중요하지 않습니다. 따라서 *를 변수가 아닌 유형과 연관 시키려면 자유롭게 수행하십시오.

하지만 한 가지 중요한 점은 다음과 같습니다.

다음 선언은 두 개의 정수 포인터 :

int* a,b;

여기서 b는 정수로 선언되며, 여기서 a는 정수 포인터입니다. 이 문 :

int *a,*b;

a와 b를 모두 정수 포인터로 선언합니다.

답변

Int p * : 아직 보지 못함 Int * p : 여기서 *는 p에 첨부되어 있으므로 p 만 정수에 대한 포인터가됩니다. p 뒤에 세미콜론으로 구분 된 다른 변수를 선언하면 포인터. 즉 int * p, q. 여기서 p는 정수에 대한 포인터이지만 q는 포인터가 아닌 일반 int 변수입니다.

Int * p, q의 경우 Int * p, q와 유사하게 작동합니다. 두 선언 모두 p를 정수 포인터로 선언하고 q를 일반 정수로 선언합니다. Int * p, q는 결국 프로그래머를 혼란스럽게하는 선언 유형입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다