char* 로 쓰세요 아님 char *로 쓰세요?

gurugio의 이미지

예전에도 비슷한 질문이 있었는데 검색해도 찾지를 못하겠네요.

지금 the c++ programming language를 보고있는데
char* 로 표기하더라구요.
저는 전통적으로 char *로 많이 표기한다고 알고있는데
C++ 개발자들은 char* 를 선호하는 편인가요?

그리고 두 표기법이 문법적으로 차이점이 있나요?

ymir의 이미지

차이는 없습니다.

다만, char* 로 표기하는 경우에는..
char* a, b; 과 같이 섞어서 선언하는 경우에 b 의 type 을 헛갈릴 수도 있어서..
char *a, b; 처럼 쓰기를 권합니다.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

익명 사용자의 이미지

보통 C는 type *variable;을 선호하고,
C++은 type* variable을 선호합니다.

뭐 *를 변수에 붙히고 싶어도 못붙히는 경우도 있는데
예를 들면 char *const name; 뭐 이런경우나
size_t *restrict value; 뮈 이러면
*를 변수에 붙히고 싶어도 못붙히죠.
char const *name;처럼 쓰면 의미가 달라지거든요.

세벌의 이미지

취향의 문제입니다. 문법적으로는 같습니다.

alice79의 이미지

보통 C는 char *를 사용하고, C++은 char* 을 사용합니다.

문법적으로는 같으나 의미가 조금 달라지죠.

char *a 는 char의 a포인터,
char* a 은 char* 타입의 a.

익명 사용자의 이미지

위에 한 얘기를 따라해서 혹시나 "의미가 다르다"는 얘기를 오해할까 싶어 부연합니다만...

char *const a;와 char const *a;가 의미가 다르다는건 그런 얘기가 아닙니다. ^^