2013-03-19 3 views
1
char const*const variablename = " "; 

의 의미는 무엇입니까?의미는 'char const * const c = ""'

포인터 선언과 동일합니까?

아무쪼록 설명해주십시오.

미리 감사드립니다.

+0

const는 lead decl 인 경우를 제외하고는 항상 해당 항목의 왼쪽 *으로갑니다.이 경우 해당 항목은 오른쪽에있는 첫 번째 항목입니다. 나는. 'const char *'와'char const *'는 동일합니다. 즉, 이것은 'varablename'이라는 const char 데이터 변수에 대한 const 포인터이며, 하나의 공백과 하나의 null 종결 자로 구성된 읽기 전용 char 문자열로 초기화됩니다. – WhozCraig

+0

이 질문은 전에 여러 번 요청되었습니다. http://stackoverflow.com/questions/890535/what-is-the-difference-between-char-const-and-const-char http://stackoverflow.com/questions/4949254/const-char-const도 참조하십시오. -versus-const-char http://stackoverflow.com/questions/6851436/difference-between-const-char-char-const-const-char-const-string-storage 등 –

답변

4

const C 문자열을 가리키는 포인터 const입니다. 이것은 문자열의 내용이나 포인터 자체가 변경 될 수 없음을 의미합니다. 거기에 아무것도 그의 왼쪽에없고 은 다음는 자신의 오른쪽을 보호 하지 않는

+0

일반적으로 언제 이것을 사용해야합니까? – Raptor

+0

@ShivanRaptor : Google "const in c를 사용하는 경우". – NPE

+0

@NPE 당신 때문에 나는 지난 밤에 잠을 자지 못했습니다. D – Maroun

0

const를 , 그의 왼쪽를 보호합니다.

귀하의 예제이 적용, 그것은 constStringconst 포인터입니다.