> 백엔드 개발 > C++ > C/C 포인터 선언: `char* p` 대 `char *p` – 어떤 스타일이 가장 좋나요?

C/C 포인터 선언: `char* p` 대 `char *p` – 어떤 스타일이 가장 좋나요?

Susan Sarandon
풀어 주다: 2024-12-05 18:47:09
원래의
857명이 탐색했습니다.

C/C   Pointer Declaration: `char* p` vs. `char *p` – Which Style is Best?

C/C의 포인터 변수 선언: 스타일 이해

C/C에서 포인터 변수 선언은 두 가지 표기법에 대한 논쟁을 불러일으켰습니다.

(a) 문자* p;
(b) char *p;

두 가지 스타일 모두 유효하지만 선택은 서로 다른 프로그래밍 관점과 강조점을 반영합니다.

스타일 (a): 표현 강조

이 스타일은 포인터를 취급합니다 변수(예: p)를 단일 엔터티로 사용합니다. 여기서 별표(*)는 이름 선언의 일부입니다. 구문 관점에서 별표는 이름 p에 바인딩되고 변수의 유형(예: char에 대한 포인터)을 나타냅니다. 이 접근 방식은 표현식을 강조하고 선언을 필수 형식으로 간주하는 전통적인 C 관점과 일치합니다.

스타일 (b): 유형 강조

반면 스타일 (b) 유형에 더 중점을 둡니다. 별표(*)를 유형 사양(예: char에 대한 포인터)의 일부로 간주합니다. 이 스타일은 유형 및 객체 지향 원칙에 중점을 두는 C 프로그래밍 패러다임에 더 가깝습니다.

Bjarne Stroustrup의 관점

Bjarne Stroustrup, the C의 창시자는 후자 스타일(int p;)을 옹호합니다. 변수 유형(int*)을 지정합니다. 그는 이 접근 방식이 C의 고급 기능에 더 잘 부합한다고 강조합니다.

상황별 고려 사항

한 줄에 여러 포인터 변수를 선언할 때 변수에 별표를 사용합니다. 이름(스타일 (a))은 혼란을 초래할 수 있습니다. 예를 들면 다음과 같습니다.

char c, d;

이 경우 c와 d가 모두 문자에 대한 포인터라는 사실이 덜 명확할 수 있습니다. . 유형 지정(스타일 (b))과 함께 별표를 사용하면 이 모호함이 해결됩니다.

char c, d;

결론

스타일(a)과 스타일(b) 사이의 선택은 결국 개인 취향과 프로그래밍 철학의 문제입니다. 스타일 (a)는 C 배경에서 온 사람들에게 더 직관적일 수 있는 반면, 스타일 (b)는 C의 유형 중심 접근 방식에 더 적합합니다.

위 내용은 C/C 포인터 선언: `char* p` 대 `char *p` – 어떤 스타일이 가장 좋나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿