>백엔드 개발 >C++ >C/C 포인터 선언: `char* p;` 대 `char *p;` – 차이점은 무엇입니까?

C/C 포인터 선언: `char* p;` 대 `char *p;` – 차이점은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-25 21:53:22240검색

C/C   Pointer Declaration: `char* p;` vs. `char *p;` – What's the Difference?

C/C에서 포인터 변수 선언: 구문 설명

C와 C의 포인터 영역에는 약간의 구문 변형이 있습니다. 이는 포인터 선언에 별표(*)를 배치하는 것에 대한 논쟁을 불러일으켰습니다. 일부 프로그래머는 (a) 표기법을 선택합니다:

char* p;

다른 프로그래머는 (b) 표기법을 선호합니다:

char *p;

이 두 가지 표기법의 근거는 무엇입니까?

C의 창시자인 Bjarne Stroustrup이 이 문제에 대해 설명합니다. 그는 선택이 정확성이 아니라 문체 선호도와 프로그래밍 강조에 달려 있다고 설명합니다.

C에서는 표현식이 선언보다 우선했는데 선언은 덜 중요하다고 여겨졌습니다. 그러나 C는 유형을 매우 강조합니다.

C 프로그래밍 스타일 지지자들은 표기법(a)을 선호하며 "*p"는 역참조된 포인터 값을 나타내며 C의 구문 구조와 일치한다고 주장합니다.

한편 C 프로그래밍 스타일을 옹호하는 사람들은 포인터 변수 자체의 유형을 강조하는 표기법 (b)를 선호합니다. 표기법 (b)에서 "p" 유형은 명시적으로 "int*"로 식별되며, 이는 정수에 대한 포인터로서의 역할을 강조합니다.

가독성 관점에서 표기법 (b)는 특히 더 일관되게 나타납니다. 한 줄에 여러 포인터를 선언할 때. "char c, d"와 같이 변수에 별표를 배치하는 것은 "c"와 "d"가 모두 문자에 대한 포인터라는 직관과 일치합니다.

결국 결정은 (a)와 (b) 사이의 표기는 개인 취향의 문제입니다. 그러나 C의 보급률이 증가하고 유형에 대한 강조가 증가함에 따라 일반적으로 코드의 명확성과 가독성을 높이기 위해 표기법 (b)를 사용하는 것이 좋습니다.

위 내용은 C/C 포인터 선언: `char* p;` 대 `char *p;` – 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.